你有没有注意到在Excel Vba代码中划分2/60的问题?我正在使用Excel 2013.请测试以下代码:
Sub test1()
Dim A As Integer
Dim B As Integer
MsgBox 2 / 60
A = 2
B = 60
MsgBox A / B
End Sub
Sub test2()
Cells(1, "a") = 2
Cells(1, "b") = 60
Cells(1, "c") = Cells(1, "a") / Cells(1, "b")
MsgBox Cells(1, "a") / Cells(1, "b")
End Sub
Test1将为数学运算生成错误的答案。结果应为0,0333333,但它带来3,3333333E-02。 Test2适用于细胞,它带来了正确的结果。 我的代码出了什么问题?这是一个错误吗?我很感兴趣,为什么vba不能做正确的计算?
感谢您的帮助
答案 0 :(得分:4)
在数字部分E+XX
或E-XX
中,XX
表示小数点向右或向左移位的位数。
所以在你的3.333333E-02移位小数点2左边的位置,你得到0.03333333
这种表示法的一个要点是免除零(0.0000012345 = 1.2345E-06)并正确显示数字精度范围内的数字(hypthetical 1234567890123456789 = 1.2345678E + 18(其余数字)被剪辑了#。()。
并且5E + 00 = 5 :)没有转变。
更多信息:E notation