This is a new technology, part of the ECMAScript 2015 (ES6) standard.
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.
O método Math.trunc()
retorna a parte inteira de um número, descartando suas casas decimais.
Síntaxe
Math.trunc(x)
Parâmetros
x
- Um 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()
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);
Math.trunc = Math.trunc || function(x) { return x < 0 ? Math.ceil(x) : Math.floor(x); }
Especificações
Especificação | Status | Comentário |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Math.trunc' in that specification. |
Standard | Definição inicial. |
Navegadores compatíveis
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 38 | 25 (25) | Não suportado | 25 | 7.1 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | Não suportado | Não suportado | 25.0 (25) | Não suportado | Não suportado | 8 |