Me gustaría formatear mis números para mostrar siempre 2 decimales. digamos: tengo un number => 21.268998 , el o/p que estoy buscando es cortar el resto del punto decimal y mantener solo los primeros 2, es decir:
21.26 sin embargo, con el enfoque tofixed o toPrecision para redondear siempre a un cierto decimal que está causando problemas cuando un número es 99.999999, se redondea a 100.000 que no es correcto.
var num1 = "1"; document.getElementById('num1').innerHTML = (Math.round(num1 * 100) / 100).toFixed(2); // this is showing correctly var num2 = "99.99999"; document.getElementById('num2').innerHTML = (Math.round(num2 * 100) / 100).toFixed(2);// this is incorrect=> I want to show 99.99alguna idea de cómo hacer que los primeros números se muestren siempre sin redondearlos al siguiente número.
Jsfiidle:
Puede usar el método de corte en javascript:
var num2 = 99.99999; num2 = num2.slice(0, (num2.indexOf("."))+3); document.getElementById('num2').innerHTML = num2;Aquí hay un enfoque de un simple truncado, y no redondeado:
var number = 26.4363 var str = number.toString(); console.log(str.substring(0, str.indexOf(".")+3));¿ Math.trunc() ?
var num = "99.99999"; var round=(Math.round(num * 100) / 100).toFixed(2) var trunc=(Math.trunc(num * 100) / 100) console.log(round); console.log(trunc);