浮点数保留小数点位数的做法之一: Math.round(_value * n) / n;

例如:

保留小数点后1位,则 n = 10        * n= 1 /  0.1

保留小数点后2位,则 n = 100      * n= 1 /  0.01

保留小数点后3位,则 n = 1000    * n= 1 /  0.001


至于为什么是先乘后除,可以参考如下文章:

http://www.cnblogs.com/JeffreyZhao/archive/2009/11/24/precision-of-float-point-calculation.html


基于乘法不会损失精度(有条件的),所以对于精度有要求的场合,上面的公式可以改为:

 Math.round(_value * 10) * 0.1

 Math.round(_value * 100) * 0.01

 Math.round(_value * 1000) * 0.001

你可能感兴趣的:(As3基础)