我刚刚遇到问题,只需使用以下简单代码:
trace( 0.01+0.05 ); // 0.060000000000000005
trace( 0.03-0.01 ); // 0.019999999999999997
我的意思是我只想要0.01 + 0.05给我0.06和0.03-0.01给我0.02。 有人知道如何检索正确的结果吗?
答案 0 :(得分:1)
不精确是由浮点运算引起的。 0.01,0.05和0.03都是浮点文字。并非每个数字(事实上,数字很少)都可以精确地以浮点表示。
例如,0.5可以是,但是0.06不能。根据经验,前15个有效数字是正确的。
答案 1 :(得分:-1)
trace(Math.format((0.01 + 0.05),2));