我需要对从Web服务收到的2位小数值进行舍入。为此,我使用此方法toFixed和parseFloat,因为我需要float中的最终值。 但是,当我有这个值“5.5000000”时,他向我显示只有一个小数位“5.5”...
的值我这样做了:
var num = 5.5000000;
var n = num.toFixed(2);
var numFinal = parseFloat(n);
答案 0 :(得分:5)
您必须在toFixed
之后致电parseFloat
:
parseFloat(yourString).toFixed(2)
答案 1 :(得分:1)
你可以做这样的事情
/**
* Convert the value to the Number with the precision.
* @param {Number} value value to be converted
* @param {Number} [precision=0] number of decimal places
* @returns {Number} converted number.
*/
function toNumber (value, precision) {
precision = precision || 0;
if (precision === 0) {
return value * 1;
} else {
return Number((value * 1).toFixed(precision));
}
}
答案 2 :(得分:1)
简短答案:JS中没有办法让Number数据类型的值在小数点后尾随零。
长答案:它是JavaScript的toFixed或toPrecision函数的属性,以返回String。原因是Number数据类型不能具有a = 2.00之类的值,它将始终删除小数点后的零。这是Number数据类型的内置属性。因此,要在JS中实现上述目标,我们有2种选择