toFixed()方法解读
toFixed是javascript中将number规范为指定显示小数位数的方法
本以为是四舍五入的方法,就使用在了js的运算中,但后来测试发现有的数运算是正确的,有的是不正确的
不是传统意义上的四舍五入
也并非采用银行家算法
银行家算法即:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一
所以在使用时还需要谨慎
可以替换为下面的方法解决:
//四舍五入保留两位 function format(){
var num = document.getElementById("num").value; //Math.round()是规范的四舍五入取整 //保留两位可以乘以100,四舍五入取整,再除以100 //以此类推,想要保留几位可以乘以10的几次方,四舍五入取整再除以10的几次方...... document.getElementById("num").value = (Math.round(num*100)/100).toFixed(2); }
依旧用到了toFixed()
方法,因为本人觉得这个方法可以实现保留指定位数小数后不足位自动补零很好用
根据测试的数据,还没找到toFixed()取值的规律,试出来的码友们,评论区欢迎