停止超过1位小数的数字

时间:2015-08-12 00:18:33

标签: actionscript-3 math

标题。

我的世界中有一个文本框/标签,可以以0.1的增量进行更改,但我得到的数字如下:

8.000000000001

myTextField.text = "YGravity: " + ygrav + " XGravity: " + xgrav;

我已经尝试过使用math.ceil&地板,但它的数字是错误的(ygravity说0但物体仍在上升/下降)

2 个答案:

答案 0 :(得分:2)

这是因为浮点小数 - 它们可能以奇怪的方式完成(我不记得它为什么会发生,但确实如此)。您可以通过舍入到特定小数位来修复它。如果你的数字增加.1那么你应该只需要一个小数位。 YGravity: " + ygrav.toFixed(1) + " XGravity: " + xgrav.toFixed(1)应该有用。

答案 1 :(得分:0)

如果你想将数字显示为1位小数,我建议如下:

//your number with lots of decimals
var ygrav:Number = 1.23456;

//multiply the number by 10, then round it off the way you want
var roundedYgrav:Number = Math.round(ygrav*10);

//roundedYgrav should now be 12. Now your final number is the rounded number divided by 10
var displayYgrav:Number = roundedYgrav/10;

//displayYgrav is now 1.2
myTextField.text = "YGravity: " + displayYgrav;