Math.trunc()

Функция Math.trunc() возвращает целую часть числа путём удаления всех дробных знаков.

Интерактивный пример

Синтаксис

Math.trunc(x)

Параметры

x

Число.

Возвращаемое значение

x

Целая часть данного числа.

Описание

В отличие от других трёх методов объекта MathMath.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

Смотрите также