我有一个二维字符串数组。在字符串数组中有一些字符串和一些整数。我想比较阵列的两个位置。
示例:
If StringArray(1, 5) > StringArray(1, 6) Then
MsgBox "Is first number is bigger"
End if
我的调试器说:
StringArray(1,5) = 150
StringArray(1,6) = 3
StringArray(1, 5) > StringArray(1, 6) = False
有人有想法,为什么结果是假的? StringArray(1, 5
)肯定更大。可能是什么问题呢?它是否与数组类型有关,如何在不为2个值创建新的整数数组的情况下更改它?
答案 0 :(得分:1)
如您所述,您的数组类型为String
当您将StringArray(1,5)
与StringArray(1,6)
进行比较时,实际上是在比较字符串。
在您的情况下,您将150
与3
比较为字符串。因此结果是错误的,因为“3”是> “1”而不是副verca。
为了将它们作为整数进行比较,您需要先将它们转换为整数。像这样:
If Val(StringArray(1, 5)) > Val(StringArray(1, 6))
还有其他方法,例如:CInt。