我有浮点数:

var a = parseFloat("12.999");
var b = parseFloat("14");


我想将它们显示为:

12.99
14.00 -> with zeros


但是没有回合,只能截断。怎么做?

最佳答案

您可以结合使用Math.floor()Number.prototype.toFixed()函数like this

console.log((Math.floor(a * 100) * 0.01).toFixed(2));
console.log((Math.floor(b * 100) * 0.01).toFixed(2));


Math.floor()会将值截断为最接近的较低整数。因此,您需要先乘以100,然后再乘以0.01。

Number.prototype.toFixed()将使用设置的小数位数格式化输出。

大多数语言的确具有称为roundceilfloor或类似函数的函数,但是几乎所有函数都舍入为最接近的整数,因此乘除法除法链(或除法乘除法用于舍入为数十,数百,数千...)是一个很好的模式。

10-05 20:38
查看更多