扫码关注官方订阅号
由于公司业务,我要使用js给客户开发一个基于网页的数学运算器,所以js的数学运算这坑必须趟那么JS下0.1+0.2会等于0.30000000004这个问题,请问大家都是如何巧妙解决的呢
人生最曼妙的风景,竟是内心的淡定与从容!
function fixNumberDecimalDigits(number, digits) {
var formatNumber = parseFloat(number); if (isNaN(formatNumber)) return false; var digits = digits || 2; formatNumber = formatNumber.toString(); var reg = new RegExp('([0-9]+.[0-9]{' + digits +'})[0-9]*'); var stringNumber = formatNumber.replace(reg, "$1"); var decimalPosition = stringNumber.indexOf('.'); if (decimalPosition < 0) { decimalPosition = stringNumber.length; stringNumber += '.'; } while (stringNumber.length <= decimalPosition + digits) { stringNumber += '0'; } return stringNumber;
}
var a = 0.1,
b = 0.2, c = a + b ;
console.log(fixNumberDecimalDigits(c, 1))
自己写一个方法就好了。
Math.round( (.1+.2)*100)/100;//0.3
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
function fixNumberDecimalDigits(number, digits) {
}
var a = 0.1,
console.log(fixNumberDecimalDigits(c, 1))
自己写一个方法就好了。