为什么我的VB程序中会出现这种清况呢?比如57-57.53=-0.530000000000001 而不是直接等于-0.53

来源:百度知道 编辑:UC知道 时间:2024/06/08 00:35:14
请问要怎么解决呢?

这是由于VB的double数据类型的精度造成的误差
如果知道要保留几位小数,可以用round(数字,保留小数位数)的内置函数解决

Private Sub Command1_Click()
MsgBox Format(57 - 57.53, "0.00")
End Sub

加一按钮。主要用格式函数。规定格式。熟练掌握就好了。
我这个可以保留任何位。"0.000000"你可以自己改下看看。

round(57-57.53,2)