最近使用到一个方法,有点特殊,记录下。toFixed()
- 它的返回值是字符串,在计算时需要注意。
- 它的保留小数使用的是银行家算法,这里简单记录一下。
银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。具体规则如下:简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。
正常四舍五入
var a = 12.56789
console.log(a.toFixed(2)) // 12.57var a = 12.56789
console.log(a.toFixed(3)) // 12.568
特殊的5
var a = 1.335;
console.log(a.toFixed(2))
// IE 1.34
//chorme 1.33
个人理解:
- 大多数情况的保留位数都挺好用的,在纯展示的情况下这个方法是保留精度的首选。
- 在保留位数的数字是五的时候,在不同环境可能表现有些不一致,需要考虑这方面精度丢失的情况。
- 返回值是字符串,请注意