Resumo : neste tutorial, você aprenderá sobre o Number
tipo JavaScript e seus métodos úteis para trabalhar com números de forma eficaz.
Introdução ao tipo de número JavaScript
Além do tipo de número primitivo , o JavaScript também fornece o Number
tipo de referência para valores numéricos.
Para criar um Number
objeto, você usa o Number
construtor e passa um valor numérico da seguinte forma:
var numberObject = new Number(100);
Linguagem de código: JavaScript ( javascript )
Este exemplo define a numberObject
com um valor numérico de 100
.
Para obter o valor primitivo de um Number
objeto, você usa o valueOf()
método a seguir:
console.log(numberObject.valueOf()); // 100
Linguagem de código: JavaScript ( javascript )
Para obter um valor numérico como uma string, você usa os métodos toString()
ou toLocaleString()
.
O toString()
método aceita um argumento opcional que determina a base na qual o número será apresentado. A raiz (ou base) é o número de dígitos exclusivos que representam números em um sistema numeral posicional.
Por exemplo, o sistema decimal usa dez dígitos de 0 a 9, portanto, a base é 10.
Veja o exemplo a seguir:
var aNumber = new Number(10);
console.log(aNumber.toString()); // "10"
Linguagem de código: JavaScript ( javascript )
Neste exemplo o aNumber
tem um valor primitivo de 10, portanto, o toString()
método retorna 10 no sistema decimal.
No entanto, o exemplo a seguir retorna a forma binária da aNumber
variável.
console.log(aNumber.toString(2)); // "1010"
Linguagem de código: JavaScript ( javascript )
Se você chamar um método em um valor numérico primitivo, o JavaScript o converterá Number
temporariamente em um objeto. Esse recurso é chamado de tipos de wrapper primitivos em JavaScript . Por exemplo:
let x = 10;
console.log(x.toString(16)); // "a"
Linguagem de código: JavaScript ( javascript )
Formatando números
Para formatar um número com um número especificado de casas decimais, você usa o toFixed()
método.
O toFixed()
método aceita um argumento que indica quantas casas decimais devem ser utilizadas.
numberObject.toFixed(decimalPlaces);
Linguagem de código: CSS ( css )
O toFixed()
método retorna a string correspondente do número usando notação de ponto fixo. Aqui está um exemplo.
var distance = 19.006
console.log(distance.toFixed(2)); // 19.01
distance = 19.004;
console.log(distance.toFixed(2)); // 19.00
Linguagem de código: JavaScript ( javascript )
É importante observar que os navegadores da Web podem usar métodos de arredondamento de maneira diferente. Portanto, você deve ter cuidado ao utilizar o toFixed()
método, principalmente para aplicações que tratam de valores monetários.
Para formatar um número em notação eletrônica, você usa o toExponential()
método mostrado no exemplo a seguir.
var x = 10, y = 100, z = 1000;
console.log(x.toExponential());
console.log(y.toExponential());
console.log(z.toExponential());
// "1e+1"
// "1e+2"
// "1e+3"
Linguagem de código: JavaScript ( javascript )
Para obter uma representação de string de um objeto numérico com a precisão especificada, você usa o toPrecision()
método.
numberObject.toPrecision(precision);
Linguagem de código: CSS ( css )
O precision
argumento determina o número de dígitos significativos.
O toPrecision()
método retorna a representação de string de um Number
objeto em notação exponencial ou ponto fixo arredondado para dígitos significativos de precisão.
Observe que se você omitir o argumento de precisão, o toPrecision()
método se comportará como o toString()
método. Veja os seguintes exemplos:
let x = 9.12345;
console.log(x.toPrecision()); // '9.12345'
console.log(x.toPrecision(4)); // '9.123'
console.log(x.toPrecision(3)); // '9.12'
console.log(x.toPrecision(2)); // '9.1'
console.log(x.toPrecision(1)); // '9'
Linguagem de código: JavaScript ( javascript )
A notação eletrônica pode ser retornada em alguns casos, por exemplo:
x = 123.5;
console.log(x.toPrecision(2)); // "1.2e+2"
Linguagem de código: JavaScript ( javascript )
Objeto de número JavaScript vs. número primitivo
A tabela a seguir ilustra as diferenças entre um Number
objeto e um número primitivo:
Operador | Objeto numérico | Valor numérico |
---|---|---|
typeof |
"object" |
"number" |
instanceof Number |
true |
false |
E aqui estão alguns exemplos:
let numberObject = new Number(10);
let number = 10;
// typeof
console.log(typeof numberObject);
console.log(typeof number);
// instanceof
console.log(numberObject instanceof Number); // true
console.log(number instanceof Number); // false
Linguagem de código: JavaScript ( javascript )
Neste tutorial, você aprendeu sobre o Number
tipo e alguns métodos úteis para formatar números.