funco 发表于 2013-2-18 11:04:22

[已解决]简单的计算问题。

本帖最后由 funco 于 2013-2-19 23:39 编辑

为什么msgbox(0,“”,10-9.9)得到的值不是0.1?而是0.9999999999996怎么得到0.1呢?100-9.9是没问题的。

funco 发表于 2013-2-18 11:08:30

用round四舍五入可以得到0.1只是计算为什么有问题还不了解。

netegg 发表于 2013-2-18 11:11:37

本帖最后由 netegg 于 2013-2-18 11:13 编辑

回复 1# funco
#Include <Math.au3>
msgbox(0,'',_Sub(10,9.9))
auto对数字的解析问题,没办法,上面这个函数可以避免32位以内的数字计算误差问题,再大的话没试过

funco 发表于 2013-2-18 11:17:29

回复 3# netegg


    _sub这个没法用,是我的autoit版本问题吗?

netegg 发表于 2013-2-18 11:20:04

不是,这个东西在autoit3udf.exe里,不在安装文件里

funco 发表于 2013-2-18 11:22:30

恩,非常感谢。

annybaby 发表于 2013-2-18 13:27:04

可以先转成整数算完后再转回来

msgbox(0,'',(10*10-9.9*10)/10)

funco 发表于 2013-2-19 23:34:43

RE: 简单的计算问题。[已解决]

问题解决~~ 谢谢~~

funco 发表于 2013-2-19 23:37:44

[已解决]简单的计算问题。

回复 7# annybaby

怎么让问题变成已解决啊~~ - - !!
页: [1]
查看完整版本: [已解决]简单的计算问题。