我有两个数据数组,我想比较两个数组中的每个元素,并将最大的绝对值放在一个新数组中。请参阅以下代码:
If Abs(DataArray1(i)) < Abs(DataArray2(i)) Then
NewDataArray(i) = DataArray2(i)
Else
NewDataArray(i) = DataMinArray(i)
End If
探针是一些值是小数,如果我比较例如-1.02和1.0100那么正常-1.02有更大的abs值。在我的情况下,我的程序返回1.0100,并且所有值的长度都不相同。总是返回更长的一个。怎么会发生这种情况又出了什么问题?
答案 0 :(得分:2)
是String类型的数组?否则,我无法解释为什么像1.0100这样的值甚至存在。该值应自动显示为1.01
如果您正在使用Strings,请尝试将值转换为浮点数。这可能有效:Abs(CDbl(DataArray1(i))) < Abs(CDbl(DataArray2(i)))