考虑一个包含10个元素的数组:
Dim Array(1 To 10) As Double
其中每个元素都分配了一些值. VB中是否有一个函数可以将前5个元素相加?显然这可以通过循环解决,但有一个单行解决方案吗?我想保持我的代码一致.我尝试使用SUM但没有成功.
谢谢!
解决方法 不,VB6中没有内置的求和功能可以满足您的需求,但您可以轻松编写一个:Public Function SumRange(ByRef dblArray() As Double,Optional ByVal StartRange As Long = -1,Optional ByVal Length As Long = -1) '-1 on StartRange indicates start at low bound If StartRange = -1 Then StartRange = LBound(dblArray) End If '-1 on Length indicates to span all elements to the end of the array If Length = -1 Then Length = UBound(dblArray) - StartRange - 1 End If Dim dTotal As Double Dim lNdx As Long For lNdx = StartRange To StartRange + Length - 1 dTotal = dTotal + dblArray(lNdx) Next lNdx SumRange = dTotalEnd Function
请注意我没有sytaz检查这个,所以请注意拼写错误.它可以使用如下:
dResult = SumRange(myArray) 'summ alldResult = SumRange(myArray,3) 'sum all starting at offset 3dResult = SumRange(myArray,2) 'sum the the first 2 elementsdResult = SumRange(myArray,2,4) 'sum a range start at 2 and with length of 4
您可以修改该方法以获取另一个可选的布尔值,以指定您是否可以容忍(忽略)越界.现在,如果要求总结的元素数量超过数组中存在的元素,则会产生错误.
总结以上是内存溢出为你收集整理的使用vb6中的SUM函数对数组中的元素求和全部内容,希望文章能够帮你解决使用vb6中的SUM函数对数组中的元素求和所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)