Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 as3中的Math.round()计算错误?_Actionscript 3_Rounding - Fatal编程技术网

Actionscript 3 as3中的Math.round()计算错误?

Actionscript 3 as3中的Math.round()计算错误?,actionscript-3,rounding,Actionscript 3,Rounding,有人能解释一下吗 我做错了什么?轮是做正确的事情。0.285不能精确表示为二进制浮点值。如您所见,当乘以100时,它近似于28.499999。。。小于28.5,因此该值向下舍入。数学。舍入(x:Number)将x舍入为最接近的整数值。在您的例子中,28是28.4999999996的最接近整数值。所以这里的行为是正确的。奇怪的是0.285*100不是28.5,但这是as3中数字类精度的结果。以下是关于这一点的更多信息和可能的解决方案: 你也可以看到这个问题: 希望这有帮助。NAFPQ:不是另

有人能解释一下吗


我做错了什么?

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

数学。舍入(x:Number)将x舍入为最接近的整数值。在您的例子中,28是28.4999999996的最接近整数值。所以这里的行为是正确的。奇怪的是0.285*100不是28.5,但这是as3中数字类精度的结果。以下是关于这一点的更多信息和可能的解决方案:

你也可以看到这个问题:


希望这有帮助。

NAFPQ:不是另一个浮点问题!