找回密码
 加入
搜索
楼主: vuivui

[AU3基础] 关于Floor、Ceiling、Round函数出错的问题

 火... [复制链接]
 楼主| 发表于 2015-3-27 13:19:38 | 显示全部楼层
也算的不准
Round 结果有时候会= -1.$  有时候又不会
我相同的写法,在大点的程序里不编译不会等于-1.$ ...
zhouhaijin 发表于 2015-3-27 10:17



au3二进制和十进制计算转换修正不严谨,诸如此类的问题很多,所以财务等需准确数值的运算慎用au3。

小数、指数十进制转换到二进制是个近似值,二进制转换到十进制保留多位小数按理说应该更准确,所以在界面操作诸如窗口位置、大小等计算中是没问题的。

在需有精确数据的场合,办法是单位取大,避免出现小数,因为整数二进制和十进制转换在取值范围内是正确的。比如先乘以100、1000,在最后结果除以100、1000。碰到除数、指数计算出现小数,四舍五入的时机,要跟相关excel等协同处理的软件算法想统一。

简单的方法还是用c编个dll结合au3,c普通计算编程很容易的。不想学c,就用excel结合vba或au3编程,其他很多财务软件都带有编程功能的。

au3是好东西,也不要因为数字计算等问题,就怕用au3。我原来用vb较多,现在基本不用了,c是au3的母语言,就是不学,还是要了解一下的,同在流行的编程语言大多数是类c语言,对转学其他语言好处也很大。pc编程对业余爱好者来说,一般场合用au3对付是较好的选择。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-11 03:26 , Processed in 0.063317 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表