有时候需要返回小数点后若干位的一个浮点数。如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。