Округление с точностью до 20 - го числа.
написал Merlin Июль.09, 2009, в ActionScript3, Статьй
Возникла у меня необходимость округлить число с точностью до определенного знака. В адобовском хелпе нашел метод класса Number toFixed(), который возвращает строку что содержит определенное количество цифр после запятой (до 20). С помощью этого метода я и решил бороться с своими потребностями:
- //value - число для округления; exactness - точность округления;
- public static function round(value:Number, exactness:int = 0):Number{
- var round:* = value.toFixed(exactness);//Округляем
- return round;
- }
2 комментариев к этой статье:
Август 6th, 2009 в 21:40
это не округление! чеснослово))))
Это форматирование числа.
Да еще, точность до 20-го знака даже физикам не нужна )
var a:Number = 0.349;
trace(a.toFixed(3)); // ваше не округляется
Сентябрь 18th, 2009 в 16:53
Тоже недавно решил разобраться как бы получше округлять числа до заданного знака.И вот что выяснил:
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.