Деление на JS
Подскажите: можно ли разделить число с помощью javascript, чтобы получилось целое число (не дробное), т.е. после обыкновенного деления сократить все цифры после запятой?
|
извиняюсь за создание лишней темы, вопрос уже решил сам (невнимательно смотрел статьи на сайта).
ответом был метод toFixed() |
Как-то раз мы тут обсуждали округление дробных чисел в меньшую сторону. В ходе обсуждения были найдены короткие записи для округления:
alert(37 / 11 | 0) Минусов у такого подхода 2: 1. Для непосвященного код непонятен. 2. Результат деления должен быть меньше, чем 2^31. t = 32768 * 32768 * 32768 / 11; alert([t, t | 0].join('\n')) |
в моем случае оба минуса неважны
1. Код вполне понятен 2. Мне необходимы числа до 2^10)) |
Не думаю, что лимитированные хаки лучше стандартных средств
var x = 32768 * 32768 * 32768 / 11; alert([x, Math.floor(x)]) |
with-love-from-siberia, побитовые операции быстрее.
http://javascript.ru/forum/dom-windo...uyu-chast.html |
в моем случае уместнее |0, т.к. скорость в опере у него высока, а использовать такой скрипт планируется и в opera mobile (ясно что math.floor тут займет в несколько раз больше времени).
|
Встречные вопросы.
Будут выполняться массовые преобразования со множеством действительных чисел? Как много их, если это влияет на производительность? Выделение целой части числа - единственное узкое место Ваших скриптов? Остальной код выполняется достаточно быстро и не влияет на производительность Вашей системы? Мое мнение - это экономия на спичках. |
нет, я совсем не о том. я говорю про то что ограничение на число-не важно, они в любом случае будут не больше 1000.
в моем случае это не экономия, а скорее упрощение скрипта (гораздо быстрее записать сразу a/b|0, чем дополнительно писать math.floor. |
alfmaster,
вы сами себе противоречите, то вам скорость выполнения важна, то скорость написания кода. |
Часовой пояс GMT +3, время: 13:35. |