![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2010
Сообщений: 223
|
Правильное округление: Math.round(4.6) = 5
Мне же необходимо 4.99 = 4, а 5,0 = 5 Можно ли это с помощью встроенных средств сделать, или только кодить.?.. |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 223
|
Спасибо. реально туплю, чет по документации подумал что floor выбирает самое большое из 2-х чисел. Вот что значит бегло читать..(
|
|
|||||
|
Lorem ipsum
|
а еще можно int() для положительных чисел
__________________
Поймай яблоко 2! |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 9
|
Попробуйте. Работает и для положительных и для отрицательных
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Не все так просто. 4 разных способа округления дают 4 разных результата.
var a:Number = 24.9; var b:Number = 24.1; trace (int (a)); // 24 trace (int (b)); // 24 trace (int ( -a)); //-24 trace (int ( -b)); //-24 trace (); trace (Math.floor (a)); // 24 trace (Math.floor (b)); // 24 trace (Math.floor ( -a)); //-25 trace (Math.floor ( -b)); //-25 trace (); trace (Math.ceil (a)); // 25 trace (Math.ceil (b)); // 25 trace (Math.ceil ( -a)); //-24 trace (Math.ceil ( -b)); //-24 trace (); trace (Math.round (a)); // 25 trace (Math.round (b)); // 24 trace (Math.round ( -a)); //-25 trace (Math.round ( -b)); //-24 |
|
|||||
|
вопреки логике -24.1 округлённый в меньшую сторону будет -25, в то время как 24.1 будет 24. Можно округлять в сторону нуля(т.е. положительные в меньшую, а отрицательные в большую) это пелчится путём приведения к инту. (что кстати с точки зрения математики не совсем корректно т.к. у числа -24,1 целая часть -25 а дробная 0,9, т.к. дробная часть положительна по определению)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|