Math.trunc()
Функция Math.trunc() возвращает целую часть числа путём удаления всех дробных знаков.
Интерактивный пример
Синтаксис
Math.trunc(x)
Параметры
x-
Число.
Возвращаемое значение
x-
Целая часть данного числа.
Описание
В отличие от других трёх методов объекта Math — Math.floor(), Math.ceil() и Math.round() — метод Math.trunc() работает очень просто. Отбрасывается запятая и все цифры после неё, не обращая внимания на знак аргумента.
Аргумент, переданный в этот метод, будет неявно преобразован в число.
Поскольку trunc() является статическим методом объекта Math, вы всегда должны использовать его как Math.trunc(), а не пытаться вызывать метод на созданном экземпляре объекта Math ( Math не является конструктором).
Примеры
Использование Math.trunc()
js
Math.trunc(13.37); // 13
Math.trunc(42.84); // 42
Math.trunc(0.123); // 0
Math.trunc(-0.123); // -0
Math.trunc('-1.123'); // -1
Math.trunc(NaN); // NaN
Math.trunc('foo'); // NaN
Math.trunc(); // NaN
Полифил
js
if (!Math.trunc) {
Math.trunc = function(v) {
v = +v;
if (!isFinite(v)) return v;
return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
// returns:
// 0 -> 0
// -0 -> -0
// 0.2 -> 0
// -0.2 -> -0
// 0.7 -> 0
// -0.7 -> -0
// Infinity -> Infinity
// -Infinity -> -Infinity
// NaN -> NaN
// null -> 0
};
}
Либо:
js
if (!Math.trunc) {
Math.trunc = function(v) {
v = +v;
return (v - v % 1) || (!isFinite(v) || v === 0 ? v : v < 0 ? -0 : 0);
};
}
Спецификации
| Specification |
|---|
| ECMAScript Language Specification # sec-math.trunc |
Поддержка браузерами
BCD tables only load in the browser