如何使整数舍入到百分之一的位置

时间:2012-01-12 20:44:00

标签: flash actionscript-3

在动作3中,我让用户在字段中输入一个数字,该字段应该是现金值。我怎么做到这样,如果由于某种原因,他们说20.956,它会圆到20.96?

1 个答案:

答案 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