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

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

Описание

В отличие от других трёх методов объекта 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® 2025 Language Specification
# sec-math.trunc

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
trunc

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

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