level 1
求助:vba clng(31)=31判断出错是什么情况
2020年08月19日 06点08分
1
level 1
dim arr(1)
arr(0)=595.2
arr(1)=19.2
if clng(arr(0)/arr(1))<> arr(0)/arr(1)then
msgbox
endif
2020年08月19日 06点08分
2
level 5
MsgBox 595.2 / 19.2 - CLng(595.2 / 19.2)
结果是3.51628448580499E-15,有极微小的误差。
MsgBox 3.14
15926535897
9 = 3.14
15926535897
95
结果是False。
浮点数显示精度是小数点后14位,如果手动输入的时候超过14位,系统会自动取前面14位,不显示14位以后的,但在计算的时候证明14位以后的数值还是有效的,但也仅限于当时,保存后重新打开运行就不存在了。
至于浮点数运算误差,你自己百度一下就知道为什么了。
2020年08月19日 10点08分
6
谢了,根据您的思路,解决了
2020年08月20日 02点08分