读书人

弄不懂啊解决思路

发布时间: 2012-01-18 00:23:26 作者: rapoo

弄不懂啊.........
何 25.4*1.5  38.1 不相等?
即 print 25.4*1.5=38.1 False

可是 1.5*1.5 = 2.25 True

[解决办法]
数据类型的问题
print (25.4*1.5)-38.1

最好转到同一类型比较


*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
[解决办法]
朋友,请注意您所使用的数据类型
[解决办法]
1.5*1.5 是vb自动在转换类型
[解决办法]
print round(25.4*1.5,1)=38.1
试试看

[解决办法]
我认为是数据类型问题:
我做以下试验:
Dim a As Currency
Dim b As Currency

a = 1.4 * 1.4
b = 1.96

Debug.Print a = b
结果是:true

另外:

Dim a
Dim b

a = 1.4 * 1.4
b = 1.96

Debug.Print a = b

结果为:false
[解决办法]
这是由于计算机无法准确地用二进制来表示浮点数造成的。

? 1.4 *1.4 - 1.96
-2.1315414711065E-16


这类比较一般需要这样来进行:
? abs(1.4 *1.4 - 1.96) < 1E-10

[解决办法]
支持jadeluo(秀峰) ( )

读书人网 >VB

热点推荐