现在的位置: 首页 > 综合 > 正文

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

2012年09月07日 ⁄ 综合 ⁄ 共 435字 ⁄ 字号 评论关闭
    有时候需要返回小数点后若干位的一个浮点数。如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。

   

抱歉!评论已关闭.