方法一:使用github上的库:BigDecimal.js或bignumber.js
方法二:使用简单点四舍五入方法,其实跟上面的方法差不多,只不过取了一个10位小数
function numTofixed(num) { if (typeof num == 'number') { num = parseFloat(num.toFixed(10)) } return num; } numTofixed(0.1 + 0.2);
方法三:
function fixFloatCalcRudely(num){ if(typeof num == 'number'){ var str=num.toString(), match=str.match(/\.(\d*?)(9|0)\2{5,}(\d{1,5})$/); if(match != null){ return num.toFixed(match[1].length)-0; } } return num; }
本文介绍了三种解决JavaScript中浮点数运算误差的方法,包括使用BigDecimal.js或bignumber.js库,采用四舍五入方法保留10位小数,以及通过字符串匹配进行粗暴修正。
11万+

被折叠的 条评论
为什么被折叠?



