Javascript.RU

Math

В отличие от других глобальных объектов, Math не является конструктором. Все свойства и методы Math статичны.

Вы можете обратиться к константе pi как Math.PI или вызвать функцию Math.floor как Math.floor(x). Все константы определены с максимально возможной в яваскрипт точностью (double).


Методы

Math.acos
Math.asin
Math.atan
Math.atan2
Math.exp
Math.min
Math.random
Math.sqrt
Math.log
Math.round
Math.floor
Math.ceil
Math.sin
Math.cos
Math.tan
Math.pow
Math.max
Math.abs

Свойства

Math.E
Math.LN2
Math.LOG2E
Math.LOG10E
Math.PI
Math.SQRT12
Math.SQRT2
Math.LN10

Автор: bayah, дата: 23 апреля, 2010 - 12:15
#permalink

У вас ошибка в описании. Функция Math.floor(x) вернет целую часть от числа x, а не его округление.


Автор: Гость (не зарегистрирован), дата: 21 мая, 2014 - 19:08
#permalink

Даже не смешно, как ни старался


Автор: Гость (не зарегистрирован), дата: 18 октября, 2019 - 21:08
#permalink

Ні! Все правильно!


Автор: bayah, дата: 23 апреля, 2010 - 12:20
#permalink

Хотя, конечно, если брать понятие округление в широком смысле, то отбрасывание дробной части тоже округление. По привычке все таки кажется, что округление - это именно до ближайшего целого.
Уж не знаю, прав ли я тут.


Автор: NixCore, дата: 22 июня, 2010 - 11:59
#permalink

А ты упёртый...
Попробуй функцию, кот тебе написали.
floor - именно округление в сторону меньшего числа.


Автор: Гость (не зарегистрирован), дата: 5 апреля, 2011 - 23:16
#permalink

В программировании это приветствуется...

Функция 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) содержит в себе некую смесь округления и выявления целой части.
Прихожу к выводу что этой функцией стоит пренебрегать во избежание ошибок...


Автор: poorking, дата: 6 апреля, 2011 - 23:00
#permalink

Math.round() - привычное округление,
Math.floor() - округление строго в сторону меньшего числа
Math.ceil() - округление строго в сторону большего числа


Автор: Гость (не зарегистрирован), дата: 21 июня, 2011 - 16:42
#permalink

Math.floor() - округление строго в сторону меньшего числа

не думаю что так
скорее это отбрасывание дробной части числа


Автор: Гость (не зарегистрирован), дата: 12 августа, 2011 - 08:46
#permalink

Округление
...
Применяются различные способы О. числа. Простейший из них состоит в отбрасывании младших разрядов числа, выходящих за t разрядов. Абсолютная погрешность О. при этом не превосходит единицы t-го разряда числа.
...
БСЭ

Кончай флудить! Отрасывание дробной части - частный случай округления.


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2015 - 01:06
#permalink

скорее это отбрасывание дробной части числа

Тебе же русским языком говорят: floor возвращает ближайшее целое число, которое меньше аргумента. Для отрицательных чисел это нифига не то, что ты написал.


Автор: Гость (не зарегистрирован), дата: 18 января, 2018 - 14:13
#permalink

а вы попробуйте с отрицательными числами

так -5.6 он округлит в меньшую сторону и получится -6


Автор: AlexF, дата: 29 апреля, 2012 - 15:40
#permalink

Гость : "В итоге функция Math.floor(x) содержит в себе некую смесь округления и выявления целой части.
Прихожу к выводу что этой функцией стоит пренебрегать во избежание ошибок..."
Конкретно:
Наименьшее целое - ЭТО:
Math.floor(10.92) = 10 // 10 < 10.92
Math.floor(-10.92) = -11
Просто автор не думал о слабой математике читателей и в этом его прокол...
Такое понятие как floor требуется для анализа данных со смещением в отрицательную сторону из-за алгоритмических вычислений (типа, относительное смещение), например, при этом свойства использумого материала (массива и его значений) и его функциональный статус не меняется. Ведь, если рассматривать монотонную линейную функцию, то делать границу разделения методов - это нарушение ее монотонности... Sad
Если кто-то заметил смесь - это хорошо, но нужно всегда отследить и целостность процесса..


Автор: Гость (не зарегистрирован), дата: 14 сентября, 2016 - 11:48
#permalink

Эта функция нужна для того чтобы получить остаток от диления... Так что если нужен остаток с его дальнейшим применением она просто необходима.
Как пример

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;
}


Автор: Гость (не зарегистрирован), дата: 21 мая, 2014 - 19:10
#permalink

Хотя, конечно, если брать понятие округление в широком смысле...
...и еще бы понимать этот широкий смысл - здесь уже смешно.


Автор: Гость (не зарегистрирован), дата: 10 июня, 2011 - 13:35
#permalink

С точки зрения элементарной математики округление это общее понятие которое подразделяется на "методы округления" также возможны специфические методы округления
например эспонентноциальный - применяется в метрологии


Автор: Трололош (не зарегистрирован), дата: 13 января, 2013 - 02:29
#permalink

Как округлить число вниз или вверх до кратного (который я задам)
Например мне нужно округлить число 11 вниз до кратного 4м.
Если вниз должно получиться 8 если вверх должно получиться 12.


Автор: advzr (не зарегистрирован), дата: 28 марта, 2013 - 17:20
#permalink

Все довольно просто.

До ближайшего нижнего кратного:
11 / 4 = 2,75
Math.floor(2.75) = 2
2 * 4 = 8

До ближайшего верхнего кратного:
11 / 4 = 2,75
Math.ceil(2.75) = 3
3 * 4 = 12

console.log( calcClosestLowerMultiple (11, 4) );
console.log( calcClosestUpperMultiple (11, 4) );

function calcClosestLowerMultiple(number, divisor) {
	var result = number/divisor;
	result = Math.floor( result );
	return result*divisor;
}

function calcClosestUpperMultiple(number, divisor) {
	var result = number/divisor;
	result = Math.ceil( result );
	return result*divisor;
}

Автор: Гость (не зарегистрирован), дата: 15 апреля, 2015 - 13:31
#permalink

Не указана функция Math.sign
Или она не во всех браузерах реализована ?


Автор: Гость (не зарегистрирован), дата: 5 октября, 2015 - 10:38
#permalink

А есть какой-либо оператор округления, но для оставления нужного мне количества цифр после запятой? То есть, если у меня как результат вычислений получится 2,232653464574574564, а я хочу оставить, чтобы выводилось 2,232, или 2,2326?


 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние темы на форуме
Forum