Как я могу округлить число в JavaScript?
math.round()
не работает, потому что округляет его до ближайшего десятичного числа.
Я не уверен, есть ли лучший способ сделать это, кроме разрыва его на десятичную точку при сохранении первого бита. Должно быть...
javascript
math
rounding
Бен Шелок
источник
источник
Ответы:
Использование
Math.floor()
это один из способов сделать это.Дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor
источник
Вокруг к отрицательной бесконечности -
Math.floor()
Округление к нулю - обычно вызывается
Truncate()
, но не поддерживается JavaScript - можно эмулировать, используяMath.ceil()
отрицательные числа иMath.floor()
положительные числа.источник
x | 0
.Math.floor()
будет работать, но это очень медленно по сравнению с использованием побитовойOR
операции:EDIT
Math.floor()
это не медленнее , чем при использовании | оператор. Спасибо Джейсону С. за проверку моей работы.Вот код, который я использовал для тестирования:
источник
|
преобразует в 32-разрядное целое число с усечением;Math.floor
округляет вниз. jsfiddle.net/minitech/UVG2wВы можете попробовать использовать эту функцию, если вам нужно округлить до определенного количества десятичных знаков
Примеры
источник
Чтобы округлить до отрицательной бесконечности, используйте:
Чтобы округлить до нуля (если число может округляться до 32-разрядного целого числа от -2147483648 до 2147483647), используйте:
Чтобы округлить до нуля (для любого числа), используйте:
источник
Округление
number
до0
может быть выполнено путем вычитания его подписанной дробной частиnumber % 1
:Как
Math.floor
(округляет в сторону-Infinity
) этот метод совершенно точен.Есть различия в обработке
-0
,+Infinity
и-Infinity
хотя:источник
источник
Сегодня возился с чьим-то другим кодом и обнаружил следующее, что также выглядит округленным:
Для получения дополнительной информации о сдвиге вправо, распространяющем знак (>>), см. Битовые операторы MDN.
Мне потребовалось некоторое время, чтобы понять, что это делает: D
Но, как отмечено выше, Math.floor () работает и выглядит более читабельным, на мой взгляд.
источник
Вам нужно поставить -1, чтобы округлить половину, а затем умножить на -1, как в примере ниже.
источник
Вот math.floor, используемый в простом примере. Это может помочь новому разработчику понять, как использовать его в функции и что он делает. Надеюсь, поможет!
источник