问题
原生toFixed四舍五入的时候发现会有差一分钱的情况:有“银行家算法”说法或者浏览器兼容性问题,为了解决该问题,借助round函数实现。
解决办法
代码:
<body>
<div>
<form>
四舍五入:<span id="number1"></span>
</form>
</div>
</body>
<script>
$(function () {
format(0.615, 2);
});
function format(value, precision) {
var power=Math.pow(10,precision);
$("#number1").text((Math.round(value*power)/power).toFixed(precision));
}
</script>
测试结果:0.62
扩展
该实现方式参考了:accounting.js库;而且支持很多金额格式。
参考地址:
accounting.js