操作脚本 数字添加和减去奇怪的行为



好吧,我只是遇到了一个问题,使用简单的以下代码:

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.01、0.05 和 0.03 都是浮点文字。并非每个数字(实际上,很少的数字)都可以精确地用浮点数表示。

例如,0.5 可以是,但 0.06 不能。根据经验,前 15 个有效数字是正确的。

有关更多详细信息,请参阅 http://en.wikipedia.org/wiki/Floating_point

trace(Math.format((0.01+0.05), 2));

相关内容

  • 没有找到相关文章

最新更新