В отличие от других глобальных объектов, Math
не является конструктором. Все свойства и методы Math
статичны.
Вы можете обратиться к константе pi как Math.PI или вызвать функцию Math.floor как Math.floor(x)
. Все константы определены с максимально возможной в яваскрипт точностью (double).
У вас ошибка в описании. Функция Math.floor(x) вернет целую часть от числа x, а не его округление.
Даже не смешно, как ни старался
Ні! Все правильно!
Хотя, конечно, если брать понятие округление в широком смысле, то отбрасывание дробной части тоже округление. По привычке все таки кажется, что округление - это именно до ближайшего целого.
Уж не знаю, прав ли я тут.
А ты упёртый...
Попробуй функцию, кот тебе написали.
floor - именно округление в сторону меньшего числа.
В программировании это приветствуется...
Функция Math.floor(x):
Math.floor(10.92) = 10 //чего никак не произойдет при округлении.
Math.floor(10.5) = 10 //все еще округление
Math.floor(11.5) = 11 //верное округление по правилу четной цифры
Math.floor(10.6) = 10 //*******Черти что
Math.floor(11.6) = 11 //Не в какие ворота
Math.floor(11.92) = 11 //Тоже ерунда
В итоге функция Math.floor(x) содержит в себе некую смесь округления и выявления целой части.
Прихожу к выводу что этой функцией стоит пренебрегать во избежание ошибок...
Math.round() - привычное округление,
Math.floor() - округление строго в сторону меньшего числа
Math.ceil() - округление строго в сторону большего числа
Math.floor() - округление строго в сторону меньшего числа
не думаю что так
скорее это отбрасывание дробной части числа
Округление
...
Применяются различные способы О. числа. Простейший из них состоит в отбрасывании младших разрядов числа, выходящих за t разрядов. Абсолютная погрешность О. при этом не превосходит единицы t-го разряда числа.
...
БСЭ
Кончай флудить! Отрасывание дробной части - частный случай округления.
скорее это отбрасывание дробной части числа
Тебе же русским языком говорят: floor возвращает ближайшее целое число, которое меньше аргумента. Для отрицательных чисел это нифига не то, что ты написал.
а вы попробуйте с отрицательными числами
так -5.6 он округлит в меньшую сторону и получится -6
Гость : "В итоге функция Math.floor(x) содержит в себе некую смесь округления и выявления целой части.
Прихожу к выводу что этой функцией стоит пренебрегать во избежание ошибок..."
Конкретно:
Наименьшее целое - ЭТО:
Math.floor(10.92) = 10 // 10 < 10.92
Math.floor(-10.92) = -11
Просто автор не думал о слабой математике читателей и в этом его прокол...
Такое понятие как floor требуется для анализа данных со смещением в отрицательную сторону из-за алгоритмических вычислений (типа, относительное смещение), например, при этом свойства использумого материала (массива и его значений) и его функциональный статус не меняется. Ведь, если рассматривать монотонную линейную функцию, то делать границу разделения методов - это нарушение ее монотонности...
Если кто-то заметил смесь - это хорошо, но нужно всегда отследить и целостность процесса..
Эта функция нужна для того чтобы получить остаток от диления... Так что если нужен остаток с его дальнейшим применением она просто необходима.
Как пример
function findDidgitSum(number)
{
var sum = 0;
var result = "";
while(number != 0)
{
var module = number % 10;
result += module;
sum += module;
number = Math.floor(number / 10);
result += number == 0 ? (" = " + sum) : " + ";
}
return result;
}
Хотя, конечно, если брать понятие округление в широком смысле...
...и еще бы понимать этот широкий смысл - здесь уже смешно.
С точки зрения элементарной математики округление это общее понятие которое подразделяется на "методы округления" также возможны специфические методы округления
например эспонентноциальный - применяется в метрологии
Как округлить число вниз или вверх до кратного (который я задам)
Например мне нужно округлить число 11 вниз до кратного 4м.
Если вниз должно получиться 8 если вверх должно получиться 12.
Все довольно просто.
До ближайшего нижнего кратного:
11 / 4 = 2,75
Math.floor(2.75) = 2
2 * 4 = 8
До ближайшего верхнего кратного:
11 / 4 = 2,75
Math.ceil(2.75) = 3
3 * 4 = 12
Не указана функция Math.sign
Или она не во всех браузерах реализована ?
А есть какой-либо оператор округления, но для оставления нужного мне количества цифр после запятой? То есть, если у меня как результат вычислений получится 2,232653464574574564, а я хочу оставить, чтобы выводилось 2,232, или 2,2326?