O Objeto Number em JavaScript
O objeto Number
em JavaScript é usado para representar números. Para criar um número, você pode passar um valor numérico ou uma string que represente um número para o construtor Number
. Por exemplo:
const x = new Number(34);
const y = new Number("34");
console.log(x + y); // 68
As definições de x
e y
acima são praticamente idênticas.
No entanto, você também pode simplesmente atribuir um número diretamente a uma variável, sem precisar usar o construtor Number
:
const z = 34;
O objeto Number
oferece várias propriedades e métodos úteis. Algumas de suas propriedades incluem:
Number.MAX_VALUE
: o maior número inteiro possível, aproximadamente 1.79E+308. Números maiores que esse valor são considerados como Infinity.Number.MIN_VALUE
: o menor número positivo possível, aproximadamente 5e-324 (perto de zero).Number.NaN
: um valor especial que indica que o objeto não é um número.Number.NEGATIVE_INFINITY
: representa a negativa infinita, que ocorre ao somar dois números negativos cada um igual a Number.MAX_VALUE, por exemplo.Number.POSITIVE_INFINITY
: representa a positiva infinita, que ocorre, por exemplo, ao multiplicar dois valores Number.MAX_VALUE.
Alguns métodos básicos do objeto Number
:
isNaN()
: determina se o objeto não é um número. Se o objeto não é um número, retornatrue
:const a = Number.isNaN(Number.NaN); // true const b = Number.isNaN(true); // false, pois new Number(true) = 1 const c = Number.isNaN(null); // false, pois new Number(null) = 0 const d = Number.isNaN(25); // false const e = Number.isNaN("54"); // false, pois new Number("54") = 54 const f = Number.isNaN("hello"); // false (explicações abaixo)
Para evitar confusões com strings que não são números, é melhor usar a função global
isNaN
:const f = isNaN("hello"); // true
parseFloat()
: converte uma string para um número de ponto flutuante. Por exemplo:const a = Number.parseFloat("34.90"); // 34.9 console.log(a); const b = Number.parseFloat("hello"); // NaN console.log(b); const c = Number.parseFloat("34hello"); // 34 console.log(c);
parseInt()
: converte uma string para um número inteiro. Por exemplo:const a = Number.parseInt("34.90"); // 34 console.log(a); const b = Number.parseInt("hello"); // NaN console.log(b); const c = Number.parseInt("25hello"); // 25 console.log(c);
toFixed()
: fixa um número de casas decimais para um número com ponto flutuante. Por exemplo:let a = 10 / 1.44; console.log("Antes do método toFixed(): ", a); a = a.toFixed(2); // fixa duas casas decimais console.log("Depois do método toFixed(): ", a);
Saída no console:
Antes do método toFixed(): 6.944444444444445 Depois do método toFixed(): 6.94
Convertendo Entre Sistemas Numéricos
Além das conversões básicas de strings para números na base decimal, o JavaScript permite especificar o sistema numérico usando um segundo parâmetro no método parseInt()
. Por exemplo, para converter uma string de um número binário em um número decimal, você pode fazer o seguinte:
const num1 = "110";
const num2 = parseInt(num1, 2);
console.log(num2); // 6
Neste caso, o segundo parâmetro passado para a função parseInt()
é 2, indicando que a string deve ser interpretada como um número binário. O resultado é 6, pois 110 em binário corresponde a 6 em decimal.
Convertendo do Número para String com o Método toString()
Para converter um número em uma string, você pode utilizar o método toString()
. Por exemplo:
Embora não haja necessidade de transformar o número 10 em string para imprimi-lo, o método toString()
se torna muito útil quando queremos representar o número em diferentes bases numéricas. Ele aceita uma base como parâmetro para a conversão. Veja como converter números para representações em outras bases:
const num1 = 0b0110; // número binário para decimal 6
console.log(num1.toString(2)); // "110", representação binária
const num2 = 0xff; // número hexadecimal para decimal 255
console.log(num2.toString(16)); // "ff", representação hexadecimal