Quería mostrar un número con 2 decimales.
Pensé que podría usar toPrecision(2)
en JavaScript.
Sin embargo, si el número es 0.05
, me sale 0.0500
. Prefiero que siga igual.
¿Cuál es la mejor manera de hacer esto?
Puedo pensar en codificar algunas soluciones, pero me imagino (espero) que algo como esto está incorporado.
Podrías hacerlo con la
toFixed
función, pero tiene errores en IE . Si quieres una solución confiable, mira mi respuesta aquí .fuente
float_num.toFixed(2);
funciona bien)Intenta en
toFixed
lugar detoPrecision
.fuente
No sé cómo llegué a esta pregunta, pero incluso si han pasado muchos años desde que se hizo esta pregunta, me gustaría agregar un método rápido y simple que sigo y nunca me ha decepcionado:
fuente
parseFloat()
allí? Solo debe usarse si el número proviene de una cadena.function round(value, decimals) { return Number(Math.round(value+'e'+decimals)+'e-'+decimals); }
La respuesta está siguiendo este enlace: http://www.jacklmoore.com/notes/rounding-in-javascript/
fuente
number.parseFloat(2)
funciona pero devuelve una cadena.Si desea conservarlo como un tipo de número, puede usar:
Math.round(number * 100) / 100
fuente
Podrías intentar mezclar
Number()
ytoFixed()
.Haga que su número objetivo se convierta en una bonita cadena con X dígitos y luego convierta la cadena formateada en un número.
Number( (myVar).toFixed(2) )
Ver ejemplo a continuación:
fuente
y aquí está la sintaxis
El argumento de dígitos es opcional y, por defecto, es 0. Y el tipo de retorno es string no number. Pero puedes convertirlo a número usando
También puede arrojar excepciones como
TypeError
,RangeError
Aquí está el detalle completo y la compatibilidad en el navegador.
fuente
fuente
He hecho esta función. Funciona bien pero devuelve cadena.
fuente