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.

O método Math.trunc() retorna a parte inteira de um número, descartando suas casas decimais.

Experimente

Sintaxe

Math.trunc(x)

Parâmetros

x

Um número.

Valor de retorno

A parte inteira de um dado número.

Descrição

Diferente dos demais métodos em Math: Math.floor(), Math.ceil() e Math.round(), o retorno esperado da função Math.trunc() é simples e direto, ela apenas trunca o número passado a ela como parâmetro, removendo todas as casas decimais dele, não importando se o número é positivo ou negativo.

Portanto, se o argumento passado for um número positivo, Math.trunc() será equivalente a Math.floor(), caso contrário Math.trunc() será equivalente a Math.ceil().

O argumento passado a esse método será convertido a um tipo numérico implicitamente.

Já que trunc() é um método estático em Math, sempre utilize Math.trunc(), ao invés de um método existente no objeto que você criou (Math não é um construtor).

Exemplos

Usando 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

Polyfill

(umPolyfill é um pedaço de código que o desenvolvedor pode colocar na sua página para garantir compatilibilidade do método. No exemplo abaixo, caso o navegador não tiver o método trunc na classe Math, ele será criado);

js
Math.trunc =
  Math.trunc ||
  function (x) {
    return x < 0 ? Math.ceil(x) : Math.floor(x);
  };

Especificações

Specification
ECMAScript Language Specification
# sec-math.trunc

BCD tables only load in the browser

Veja também