标题。
我的世界中有一个文本框/标签,可以以0.1的增量进行更改,但我得到的数字如下:
8.000000000001
myTextField.text = "YGravity: " + ygrav + " XGravity: " + xgrav;
我已经尝试过使用math.ceil&地板,但它的数字是错误的(ygravity说0但物体仍在上升/下降)
答案 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;