发现VB6.0的一个神奇的bug,该如何解决
发现VB6.0的一个神奇的bugDim i As SingleFor i 99999989 To 99999999Debug.Print iNext先猜猜什么结果?
发现VB6.0的一个神奇的bug
Dim i As Single
For i = 99999989 To 99999999
Debug.Print i
Next
先猜猜什么结果?然后再运行。
[解决办法]因为 9.999999E+7 = 99999990 就是i的起始.
i+1 = 99999991 ;但是因为是 singe型。最后四舍五入还是 99999990 ,所以一直print 9.999999E+7
[解决办法]应该是99999990
single类型的范围为1.401298E-45 到3.402823E38 只能有7位的有效数