Возникла у меня необходимость округлить число с точностью до определенного знака. В адобовском хелпе нашел метод класса Number toFixed(), который возвращает строку что содержит определенное количество цифр после запятой (до 20). С помощью этого метода я и решил бороться с своими потребностями:
//value - число для округления; exactness - точность округления;
public static function round(value:Number, exactness:int = 0):Number{
var round:* = value.toFixed(exactness);//Округляем
return round;
}
RSS Feed
Twitter
Posted in
Tags: 
это не округление! чеснослово))))
Это форматирование числа.
Да еще, точность до 20-го знака даже физикам не нужна )
var a:Number = 0.349;
trace(a.toFixed(3)); // ваше не округляется
Тоже недавно решил разобраться как бы получше округлять числа до заданного знака.И вот что выяснил:
tim=getTimer();
for(i=0;i<1000000;i++){
vectX=int((-1+Math.random()*2)*1000)/0.001;
}
trace(getTimer()-tim);///558
tim=getTimer();
for(i=0;i<1000000;i++){
vectX=Number((-1+Math.random()*2).toFixed(3));
}
trace(getTimer()-tim);///13560
Разница в скорости - 2 порядка, видимо преобразования int-Number флэш любит больше, чем Number-String.