El objeto de número en JavaScript se usa para manipular números, ya sea negativo o positivo. El tipo Número de JavaScript representa los números de tipo doble (valores fraccionarios). Un número literal como 98 no es un valor entero sino un valor de punto flotante . Mantiene la precisión de 17 decimales. 1.8 * 10 ^ 308 es el valor más grande que puede contener, cualquier número más allá de este valor se reemplaza con una constante conocida como Infinity .
Number.prototype hace referencia al objeto Number() y no a un solo objeto de número. La propiedad prototipo agrega los siguientes métodos de instancia al objeto numérico.
- Number.prototype.toPrecision(precision_value): devuelve una string que representa un número con la precisión indicada en notación exponencial o notación de punto fijo. El parámetro precision_value especifica el número de dígitos en los que se debe representar el número. El valor del parámetro va de 0 a 20 , y si no está en el rango dado, produce una excepción conocida como RangeError .
Ejemplo:
let num1 = 64.67890
let num2 = 0.000123
console.log(num1.toPrecision())
console.log(num1.toPrecision(3))
console.log(num1.toPrecision(1))
console.log(num2.toPrecision())
console.log(num2.toPrecision(3))
console.log(num2.toPrecision(1))
console.log((100000.02).toPrecision(4))
Producción:
"64.6789" "64.7" "6e+1" "0.000123" "0.000123" "0.0001" "1.000e+5"
JavaScript
function
test(x) {
return
Number.parseFloat(x).toPrecision(5);
}
console.log(test(4532.567));
console.log(test(0.00065));
console.log(test(
'4.44e+5'
));
console.log(test(
'geeksforgeeks'
));
Producción:
"4532.6" "0.00065000" "4.4400e+5" "NaN"
-
Number.prototype.valueOf(): Devuelve el valor del objeto especificado. JavaScript llama a este método internamente.
Ejemplo:
let num1 =
new
Number(105)
console.log(num1)
console.log(
typeof
num1)
let num2 = num1.valueOf()
console.log(num2)
console.log(
typeof
num2)
Producción:
105 "object" 105 "number"
Ejemplo:
JavaScript
let num1 =
new
Number(100)
console.log(num1)
console.log(
typeof
num1)
let num2 = num1.valueOf()
console.log(num2)
console.log(
typeof
num2)
Producción:
100 "object" 100 "number"
-
Number.prototype.toFixed(num): Representa el número en notación de punto fijo. El parámetro num especifica el número de dígitos después del punto decimal. Puede admitir una gama sustancial de valores. El valor del parámetro va de 0 a 100 , y si no está en el rango dado, produce una excepción conocida como RangeError . Si este método se invoca en un objeto que no sea Number, produce una excepción conocida como TypeError . El valor predeterminado del parámetro es cero y el objeto numérico puede redondearse.
Ejemplo:
let num = 134567.8845
console.log(num.toFixed())
console.log(num.toFixed(1))
console.log(num.toFixed(7))
console.log((2.56e+10).toFixed(3))
console.log(9.88.toFixed(1))
Producción:
"134568" "134567.9" "134567.8845000" "2560000000.000" "9.9"
Ejemplo:
JavaScript
function
test(x) {
return
Number.parseFloat(x).toFixed(4);
}
console.log(test(56.7645));
console.log(test(0.56400));
console.log(test(
'geeksforgeeks'
));
Producción:
"56.7645" "0.5640" "NaN"
-
Number.prototype.toString([base]): devuelve una string que representa el número en el valor base especificado. El parámetro base especifica el dígito que oscila entre 2 y 36 para representar el número en esa base en particular. Si los valores base no están en el rango especificado, genera la excepción RangeError . Si no se especifica la base, su valor por defecto será 10. Si el objeto número es un valor negativo, entonces no representa su complemento a 2 sino que conserva el signo y lo pone después de representar el número en la base especificada.
Ejemplo:
let count = 50
console.log(count.toString(8))
console.log((12.2).toString(2))
console.log((12.2).toString())
console.log((343).toString(16))
console.log((-5).toString(2))
console.log((-0xff).toString(2))
Producción:
"62" "1100.001100110011001100110011001100110011001100110011" "12.2" "157" "-101" "-11111111"
Ejemplo:
JavaScript
function
octa_test(c) {
if
(c < 256) {
return
Math.abs(c).toString(8);
}
return
0;
}
//Display octal of 233
console.log(octa_test(233));
//Display octal of 65
console.log(octa_test(
'65'
));
Producción:
"351" "101"
-
Number.prototype.toExponential(fraction_num): Representa el número en notación exponencial. El parámetro frac_num especifica el número de dígitos después del punto decimal. El valor del parámetro va de 0 a 20 , y si no está en el rango dado, produce una excepción conocida como RangeError . Si este método se invoca en un objeto que no sea Number, produce una excepción conocida como TypeError . Si no se especifica el parámetro frac_num , se selecciona el número de dígitos que siguen al punto decimal para que ese número se represente de manera única.
Ejemplo:
var
num1 = 123.4567;
var
num2 = 10000;
console.log(num1.toExponential());
console.log(num2.toExponential());
console.log(num1.toExponential(4));
console.log(num2.toExponential(4));
console.log(100 .toExponential());
Producción:
"1.234567e+2" "1e+4" "1.2346e+2" "1.0000e+4" "1e+2"
Ejemplo:
JavaScript
function
test(x, f) {
return
Number.parseFloat(x).toExponential(f);
}
console.log(test(100000, 3));
console.log(test(
'100000'
));
console.log(test(
'geeksforgeeks'
));
Producción:
"1.000e+5" "1e+5" "NaN"
-
Number.prototype.toLocaleString([locales [, options]]): Representa el número en el idioma especificado. Los parámetros locales y options especifican los idiomas cuya convención de formato se utilizará, ambos parámetros deciden el comportamiento de la función.
Ejemplo:
var
number = 10000;
console.log(number.toLocaleString());
// German uses comma as decimal separator
// and period for thousands
console.log(number.toLocaleString(
'de-DE'
,
{ style:
'currency'
, currency:
'EUR'
}));
// India uses thousands/lakh/crore separators
console.log(number.toLocaleString(
'en-IN'
,
{ maximumSignificantDigits: 3 }));
Producción:
"10, 000" "10.000, 00 €" "10, 000"
Ejemplo:
JavaScript
function
test(x){
return
x.toLocaleString(
'de-DE'
);
//German
}
function
test2(x){
return
x.toLocaleString(
'ar-EG'
);
//Arabic
}
console.log(test(1765890.654));
console.log(test(
'1765890.654'
));
console.log(test(NaN));
console.log(test2(1765890.654));
console.log(test2(
'1765890.654'
));
console.log(test2(NaN));
Producción:
"1.765.890, 654" "1765890.654" "NaN" "?????????????" "1765890.654" "??? ???"