toFixed方法四舍五入精度问题

    技术2022-07-11  122

    问题

    原生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

    Processed: 0.015, SQL: 9