解决js 0.1 + 0.2 = 0.30000000000000004 的位数精度问题
parseFloat((0.1 + 0.2).toFixed(10))
parseFloat((数学表达式).toFixed(digits)); // toFixed() 精度参数须在 0 与20 之间,建议传2。2是为了处理5/9这样的无限循环小数。
// 运行
parseFloat((0.1 + 0.2).toFixed(10))//结果为0.3
parseFloat((0.3 / 0.1).toFixed(10)) // 结果为 3
parseFloat((0.7 * 180).toFixed(10))//结果为126
parseFloat((1.0 - 0.9).toFixed(10)) // 结果为 0.1
parseFloat((9.7 * 100).toFixed(10)) // 结果为 970
parseFloat((2.22 + 0.1).toFixed(10)) // 结果为 2.32
parseFloat((5/9).toFixed(10)) //返回0.5555555556
所以更为建议的做法是parseFloat((5/9).toFixed(2)),把小数控制在2位。 钱的计算是最复杂的,例如人民币的计算,其实最终精确到分就很可以了,元角。厘这个单位很小,生活中已经很少见了。