[Flash开发笔记] AS中保留多少位小数的函数

    有时候需要返回小数点后若干位的一个浮点数。如2.16832,保留二位小数变成:2.17,这样的函数在AS 2.0中是没有的,需要自己写:

function getPoint(num, l) {
    
return (Math.round(num*Math.pow(10, l))/Math.pow(10, l));
}


    用法
    num:要处理的浮点数;
    l:要保留的小数位个数;
    如:getPoint(2.16832,2),输出为:2.17
    注意
    在使用这个函数时,要注意溢出,因为num*Math.pow(10, l)及有可能超出了AS中浮点数所能表示的范围,从而导致你不想要的结果,另外,当输入数num比较大的时候,虽然还在浮点数表示范围内,但是小数点返回就可能不准确了,如:getPoint(12345678.123456789123, 10) ,输出结果:12345678.1234568,而不是12345678.1234567891。

   
posted on 2008-03-13 20:25  三千  阅读(2061)  评论(0编辑  收藏  举报