在动作3中,我让用户在字段中输入一个数字,该字段应该是现金值。我怎么做到这样,如果由于某种原因,他们说20.956,它会圆到20.96?
答案 0 :(得分:4)
您可以使用toFixed()
。类似的东西:
var cash:String = (Number("1.2365")).toFixed(2)
在文件中没有提到,但我很确定它是圆形而不是地板。
请注意.toFixed()
返回一个字符串,如果你想要一个更全面的帮助器,那么你可以使用类似下面的东西。
public function rounder(num:Number, decimalPlaces:int, method:Function = null):Number {
if(method == null) method = Math.round;
var mul:Number = Math.pow(10,decimalPlaces);
return method(num * mul)/mul;
}
并使用以下方法调用它:
rounder(1.245, 2); // returns 1.25 (it uses round by default)
rounder(1.245, 2, Math.floor); // returns 1.24
rounder(1.241, 2, Math.ceil); // returns 1.25
实际上你也可以使用decimalPlaces的负数
rounder(2123, -1, Math.ceil); // returns 2130