Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2010, 20:28
Аватар для alfmaster
Интересующийся
Отправить личное сообщение для alfmaster Посмотреть профиль Найти все сообщения от alfmaster
 
Регистрация: 13.10.2010
Сообщений: 19

Деление на JS
Подскажите: можно ли разделить число с помощью javascript, чтобы получилось целое число (не дробное), т.е. после обыкновенного деления сократить все цифры после запятой?
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2010, 20:59
Аватар для alfmaster
Интересующийся
Отправить личное сообщение для alfmaster Посмотреть профиль Найти все сообщения от alfmaster
 
Регистрация: 13.10.2010
Сообщений: 19

извиняюсь за создание лишней темы, вопрос уже решил сам (невнимательно смотрел статьи на сайта).
ответом был метод toFixed()
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2010, 22:22
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Как-то раз мы тут обсуждали округление дробных чисел в меньшую сторону. В ходе обсуждения были найдены короткие записи для округления:
alert(37 / 11 | 0)

Минусов у такого подхода 2:
1. Для непосвященного код непонятен.
2. Результат деления должен быть меньше, чем 2^31.
t = 32768 * 32768 * 32768 / 11;
alert([t, t | 0].join('\n'))
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2010, 12:43
Аватар для alfmaster
Интересующийся
Отправить личное сообщение для alfmaster Посмотреть профиль Найти все сообщения от alfmaster
 
Регистрация: 13.10.2010
Сообщений: 19

в моем случае оба минуса неважны
1. Код вполне понятен
2. Мне необходимы числа до 2^10))
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2010, 14:41
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

Не думаю, что лимитированные хаки лучше стандартных средств

var x = 32768 * 32768 * 32768 / 11;
alert([x, Math.floor(x)])
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2010, 14:48
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

with-love-from-siberia, побитовые операции быстрее.
Вытянуть только целую часть
Ответить с цитированием
  #7 (permalink)  
Старый 14.10.2010, 14:55
Аватар для alfmaster
Интересующийся
Отправить личное сообщение для alfmaster Посмотреть профиль Найти все сообщения от alfmaster
 
Регистрация: 13.10.2010
Сообщений: 19

в моем случае уместнее |0, т.к. скорость в опере у него высока, а использовать такой скрипт планируется и в opera mobile (ясно что math.floor тут займет в несколько раз больше времени).
Ответить с цитированием
  #8 (permalink)  
Старый 14.10.2010, 15:19
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

Встречные вопросы.

Будут выполняться массовые преобразования со множеством действительных чисел? Как много их, если это влияет на производительность?

Выделение целой части числа - единственное узкое место Ваших скриптов? Остальной код выполняется достаточно быстро и не влияет на производительность Вашей системы?

Мое мнение - это экономия на спичках.
Ответить с цитированием
  #9 (permalink)  
Старый 14.10.2010, 15:36
Аватар для alfmaster
Интересующийся
Отправить личное сообщение для alfmaster Посмотреть профиль Найти все сообщения от alfmaster
 
Регистрация: 13.10.2010
Сообщений: 19

нет, я совсем не о том. я говорю про то что ограничение на число-не важно, они в любом случае будут не больше 1000.
в моем случае это не экономия, а скорее упрощение скрипта (гораздо быстрее записать сразу a/b|0, чем дополнительно писать math.floor.
Ответить с цитированием
  #10 (permalink)  
Старый 14.10.2010, 16:36
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

alfmaster,
вы сами себе противоречите, то вам скорость выполнения важна, то скорость написания кода.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запомнить переменную js в одном файле и использовать в другом. как? skalka Общие вопросы Javascript 2 28.09.2010 08:19
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Вывод JS значения в одну строку в HTML velo Общие вопросы Javascript 7 15.12.2009 03:57
Html метки + div + JS boltayka Events/DOM/Window 1 07.09.2009 17:21
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35