JavaScript Math.ceil Метод
Метод Math.ceil используется для окружения численного значения, то есть для получения наименьшего целого числа, превышающего или равного численному значению. Синтаксис выглядит следующим образом:
Math.ceil (x)
Описание параметра:
| параметр | иллюстрировать |
|---|---|
| х | Необходимый. Должен быть числовое значение. |
Совет: этот метод - это именно противоположность методу Math.Floor.
MATH.CEIL МЕТОД ПРИМЕР
<script language = "javascript"> document.write (math.ceil (0.35) + "<br />"); document.write (math.ceil (10) + "<br />"); document.write (math.ceil (-10) + "<br />"); document.write (math.ceil (-10.1);
Запустите этот пример и вывод:
1
10
-10
-10
Ошибка в методе math.ceil?
Попробуйте запустить следующий пример:
<script language = "javascript"> document.write (math.ceil (2,1/0,7)); </script> Результат запуска этого примера не получает 3, как мы ожидали (2,1/0,7 = 3), но 4. Это, очевидно, противоречит нашему здравому смыслу. Это ошибка в методе Math.ceil?
Реальная ситуация заключается в том, что при выполнении вычислений 2,1/0,7 они обрабатываются в соответствии с номерами с плавающей запятой. Из-за бинарных отношений невозможно, чтобы компьютеры были совершенно точными для чисел с плавающей точкой (то есть они обычно теряют небольшой прогресс), поэтому результат расчета 2,1/0,7 не совсем равна 3, но немного превышает 3 (приблизительно: 3,00000000000000044409). Таким образом, после того, как выражение применяется к math.ceil (), результат 4.
Что касается проблемы неточной функции CEIL, она также упоминалась в статье «Решения для сравнения и неточного округления сравнения номеров с плавающими темпами PHP и округления неточных решений», которые в PHP функция Round () может быть легко обработана. Тем не менее, Math.Round () в javaScript слишком грубо, поэтому функция должна быть написана отдельно, чтобы справиться с такой ситуацией, то есть все избыточные значения после 1 десятичной точки удаляются, и используется метод math.ceil ().