我有一个订单,我使用jQuery Calculation Plugin来总结总数。
这个总结工作正常,但产生的'总和'存在问题。总之,我希望用逗号替换任何点。
代码的基础是;
function ($this) {
var sum = $this.sum();
$("#totaal").html("€ " + sum2);
}
直接在var sum上使用.replace()不起作用(引用的函数在对象上不可用)。我也尝试了这个(但没有效果);
var sum2 = sum.toString().replace(',', '.');
由于我对jQuery不熟悉,我现在几乎陷入困境,有人能指出我正确的方向吗?
答案 0 :(得分:33)
您的替换线几乎是正确的。您需要使用带有g
选项的正则表达式,该选项表示替换所有实例而不是第一个实例。您还可以交换订单(首先是要查找的内容,其次是替换它的内容)。
var sum2 = sum.toString().replace(/\./g, ',');
请注意\
之前的.
:.
在RegExp中具有特殊含义,因此必须对其进行转义。
答案 1 :(得分:1)
如果Sum是一个数字,那么这将有效。
var sum_formatted = String( sum ).replace(/\./g,',');
你能运行typeof(sum)并告诉我们输出是什么。
另外,如果您可以在jsfiddle.com中设置项目,那就太棒了。
答案 2 :(得分:0)
你的问题是你的替换函数应该读replace('.', ',')
而不是相反(你有replace(',', '.')
),注意第一个参数是你正在寻找的,第二个参数是你想要的是什么。你用句号替换所有逗号。这里的正则表达式是不必要的。