在jquery中添加float

Mar*_*tin 0 javascript jquery

var sssee = "581.30";
var ssser = "1,178.70";


var ssee = sssee.trim().replace(/,/g, "");
var sser = ssser.trim().replace(/,/g, "");
console.log("ee " + ssee)
console.log("er " + sser)
console.log("total " + parseFloat(ssee + sser))
Run Code Online (Sandbox Code Playgroud)

在日志我看到:

ee 581.30

呃1178.70

总计581.301178

为什么在添加替换时删除,计算中的混乱.

Mat*_*iak 7

变量ssee,sser都是字符串.当你执行ssee + sser它时会返回字符串581.301178.70,parseFloat然后传递给函数.当有两个小数点时,只有第一个被认为是正确的,这就是parseFloat返回的原因581.301178.

使用正确的解决方案检查代码段.

var sssee = 581.30;
var ssser = "1178.70";


var ssee = String(sssee).trim().replace(/,/g, "");
var sser = String(ssser).trim().replace(/,/g, "");

console.log("ee " + ssee)
console.log("er " + sser)
console.log("total " + (parseFloat(ssee) + parseFloat(sser)))
Run Code Online (Sandbox Code Playgroud)

你也应该换行ssee,并ssserString对象使用前trimreplace方法.如果不将这些变量提供为浮点数而不是字符串,则不执行此操作,您的代码将无效.