Tengo una función que agrega ceros a un número: por ejemplo, ingresamos 10, la salida sería 10.00.
El problema es que el resultado de la función es una cadena en lugar de un tipo de número, ¿hay alguna forma de devolver 10.00 como un número en javascript?
const formatNumber = number => number.toFixed(Math.max(((`${number}`).split('.')[1] || '').length, 2));Number.prototype.toFixed() toma solo uno o cero argumentos. Debería devolver un número después de usarlo. Si no es así, por cualquier motivo, puede usar String.prototype.toNumber() para convertirlo en un tipo de Número.
No puedo escribir comentarios debido a la falta de reputación, pero estoy tratando de hacer mi respuesta lo más detallada posible para poder mantener esta respuesta.
Puede usar la función toFixed() aquí en lugar de usar split() y valueOf() para devolver una cadena como un número
<!DOCTYPE html> <html> <body> <p>The toFixed() method returns a string with decimals:</p> <p id="demo1"></p> <p>The valueOf() method returns a number as a number:</p> <p id="demo2"></p> <script> let x = 10; x=x.toFixed(2); //toFixed(2) will return 10 with 2 decimal ie 10.00 as a string document.getElementById("demo1").innerHTML = x; document.getElementById("demo2").innerHTML = x.valueOf(); // valueOf() will return number here instead of string </script> </body> </html>