JS的 toFixed() 方法可以选中小数点乘法结果表示保留几位小数点(参数填几就保留几位)


js乘法带小数点时显示结果默认会有1个bug,会显示小数点后面很多位,比如:

计算12.60 * 13结果是163.79999999999998

console.log(12.60 * 13);  //输出:163.79999999999998   此时可以采用 toFixed() 方法,() 方法里面的参数表示保留几位小数点,如果不填参数则不显示小数点后面的数字,相当于参数为0    console.log((12.60 * 13).toFixed());    // 输出:164   console.log((12.60 * 13).toFixed(3));  // 输出:163.80   console.log((12.60 * 13).toFixed(3));  // 输出:163.800   总结:JavaScript中的toFixed()方法用于使用定点表示法格式化数字,格式化数与到小数点右侧的特定的位数。也就是可以把 Number 四舍五入为指定小数位数的数字   但是说是四舍五入,但实际上是四舍六入,偶入奇不如。当要保留的小数点位数的最后一位是奇数时,5不会进1(四舍六入,奇数不入);当要保存的小数点位数最后一位为偶数时,5会进1(四舍六入,偶数入)。示例如下图:

解决方法:

// toFixed 修复 toFixed: function (num, s) { var times = Math.pow(10, s) var des = num * times + 0.5 des = parseInt(des, 10) / times return des + '' }