JavaScript写一个小数点后有2位的数字,它会以小数点显示0?
我不担心四舍五入,因为我只接受2位小数
设num=2.60
console.log(num)//结果2.6
它会返回2.6,但我想要2.60。 我可以使用to.fixed(2),但它将以字符串格式返回。
设num=1.23 console.log(num)//结果1.23
我知道to.fixed(),但它返回字符串。 我想要数字格式,它显示1.00和1.60的数字格式,而不是在字符串格式。 我使用了parseFloat(Num.ToFixed(2)),但它没有显示十进制的最后0值。
您永远不能改变javascript引擎表示浮点数的方式,如果它是一个数字,并且有足够的前导零,引擎认为它应该削减它,那么它就会这么做。
浮点中的1.60
实际上更像1.6000000000000000888
,您可以通过尝试自己看到
console.log(1.60 === 1.6000000000000000888) // true
解决方案是,每当您希望以所需的格式显示值时,使用tofixed
;当您需要进行算术运算时,使用parsefloat
将该值转换回--就像您所做的那样,但只是为视图和算术使用单独的变量。