Math.trunc()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Функция Math.trunc()
возвращает целую часть числа путём удаления всех дробных знаков.
Интерактивный пример
Синтаксис
Math.trunc(x)
Параметры
x
-
Число.
Возвращаемое значение
x
-
Целая часть данного числа.
Описание
В отличие от других трёх методов объекта Math
— Math.floor()
, Math.ceil()
и Math.round()
— метод Math.trunc()
работает очень просто. Отбрасывается запятая и все цифры после неё, не обращая внимания на знак аргумента.
Аргумент, переданный в этот метод, будет неявно преобразован в число.
Поскольку trunc()
является статическим методом объекта Math
, вы всегда должны использовать его как Math.trunc()
, а не пытаться вызывать метод на созданном экземпляре объекта Math
( Math
не является конструктором).
Примеры
Использование Math.trunc()
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
Полифил
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
};
}
Либо:
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