Math3round()在as3中计算错误?

时间:2012-02-03 03:11:05

标签: actionscript-3 rounding

任何人都能解释一下吗?

enter image description here

我做错了什么?

2 个答案:

答案 0 :(得分:4)

圆正在做正确的事。 0.285不能精确表示为二进制浮点值。如您所见,当乘以100时,它近似为28.4999999 ...小于28.5,因此该值向下舍入。

答案 1 :(得分:3)

Math.Round(x:Number)将x舍入为最接近的整数值。在您的情况下,28是28.499999999999996的最接近的整数值。所以这里的行为是正确的。奇怪的是0.285 * 100不是28.5,但这是as3中Number类精度的结果。以下是有关此问题的更多信息以及可能的解决方案:

Innacurate math results

你也可以看到这个问题:

Very strange number operation issue

希望这有帮助。

相关问题