我有浮点数:
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()将使用设置的小数位数格式化输出。
大多数语言的确具有称为
round
,ceil
,floor
或类似函数的函数,但是几乎所有函数都舍入为最接近的整数,因此乘除法除法链(或除法乘除法用于舍入为数十,数百,数千...)是一个很好的模式。