jquery计算购物车价格保留小数问题【原创】

2017-11-15 11:00:23来源:http://blog.it985.com/22570.html作者:IT985博客人点击

分享

在项目中计算价格的时候,会很心累,因为jquery的浮点型不精确


有时候遇到测评输入的价格为0.01然后几百的一起结算,我们的总金额后面就会带很多个小数点,


不仅页面错位了,而且我没还得找原因(有可能是给某个变量少写了parseFloat或者parseInt)


就引起了上面的问题,但是如果使用parseFloat或者parseInt的话,我们不仅需要写好久,还需要自己测试好多种可能


有时候自己没测试出来的,到测评那边,加几个0.01的商品,分分钟给你测出来


我以前写的是这样的:


all_money += parseFloat((parseFloat(price)*parseFloat(num1)).toFixed(2));

这样写有时候还是不能精确


现在有个乘法运算


function numMulti(num1, num2) {
var baseNum = 0;
try {
baseNum += num1.toString().split(".")[1].length;
} catch (e) {
}
try {
baseNum += num2.toString().split(".")[1].length;
} catch (e) {
}
return Number(num1.toString().replace(".", "")) * Number(num2.toString().replace(".", "")) / Math.pow(10, baseNum);
};
all.text(numMulti(price, num1));//调用上面的函数

现在调用这个乘法函数,就不用我们在测试了,完美的解决了小数点的问题


现在还有一个四舍五入的方法一并发出来


//四舍五入
function decimal(num,v){
var vv = Math.pow(10,v);
return Math.round(num*vv)/vv;
}

这样就可以完美的解决小数点的问题了


转载时请注明出处及相应链接,本文永久地址:http://blog.it985.com/22570.html



微信打赏


支付宝打赏


感谢您对作者Niki的打赏,我们会更加努力!如果您想成为作者,请点我


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台