javascript - round - .toFixed no para.0*
tofixed is not a function (3)
La forma "correcta" de hacerlo es la siguiente:
return Math.round(num*100)/100;
Si desea truncarlo con dos decimales (es decir, 1.238 va a 1.23 en lugar de 1.24), use floor
lugar de round
.
Tengo algunos valores:
var one = 1.0000
var two = 1.1000
var three = 1.1200
var four = 1.1230
y función:
function tofixed(val)
{
return val.toFixed(2);
}
esta vuelta:
1.00
1.10
1.12
1.12
Quiero el tamaño máximo después del punto - 2, pero solo si los números después de! = 0. Así que me gustaría recibir:
1
1.1
1.12
1.12
¿Cómo puedo hacerlo?
Suponiendo que desea salidas de cadena
function myFixed(x, d) {
if (!d) return x.toFixed(d); // don''t go wrong if no decimal
return x.toFixed(d).replace(//.?0+$/, '''');
}
myFixed(1.0000, 2); // "1"
myFixed(1.1000, 2); // "1.1"
myFixed(1.1200, 2); // "1.12"
myFixed(1.1230, 2); // "1.12"
.toFixed(x)
devuelve una cadena. Solo analízalo de nuevo como un flotador:
return parseFloat(val.toFixed(2));