真逗,dim a as single; a=0.1; ? 89 * a 时结果是8.900001; ? val("00089") *a ,结果即是8.90000013262033这是我在写另一程序时遇到的问题,原来把字符串"00089"乘以0.1后入库,发现入库后为8.900001,后来写下面程序试也是这样程序如下Private Sub Command1_Click()
Dim a As Single
a = 0.1
Print Val("00089") * a
End Sub反复试验有以下情况Print 89 * a
得到8.900001Print 88 * a
得到8.8Print 87 * a
得到8.7不知是什么原因引起的
Dim a As Single
a = 0.1
Print Val("00089") * a
End Sub反复试验有以下情况Print 89 * a
得到8.900001Print 88 * a
得到8.8Print 87 * a
得到8.7不知是什么原因引起的
要精确的用decimal/currency(double不知道行不行)
我试了试,DOUBLE就好了.谢谢