涉及到输入数字带有小数点的情况需要保留两位小数,三位,或者某几位小数的时候怎么办?
很简单!用NumberObject.toFixed(num)啊。耶!!!
但是,但是,但是,toFixed(num)是存在问题的。在这里的四舍五入:小于5舍掉,大于等于5进位?(等于5对不对看“造化”)。
今天在项目中,var t =7.475;使用了t.toFixed(2);结果输出了7.47;并不是我们认为的7.48.
多写了几组数字测试,这里的确有个坑,5.555; 55.555; 555.555;5555.555均用toFixed(2)之后结果是不一样的。
toFixed()在不同的浏览器中,给这个方法设定的舍入对着可能会有所不同。
toFixed()方法可以表示带有0到20个小数位的数值,但这只是标准规范。有些浏览器也可能支持更多的数值。
为了项目需要,重写了toFixed()的方法。
就简单测试几组,若有问题请指正。
网友评论