17

我有一个订单表格,我在上面使用 jQuery Calculation Plugin 来总结总数。

这种总结工作正常,但产生的“总和”存在问题。总之,我希望用逗号替换任何点。

代码的基础是;

function ($this) {
    var sum = $this.sum();
    $("#totaal").html("€ " + sum2);
}

直接在 var sum 上使用 .replace() 不起作用(引用的函数在对象上不可用)。我也试过这个(但没有效果);

var sum2 = sum.toString().replace(',', '.');

由于我是 jQuery 的新手,我现在几乎被卡住了,有人能指出我正确的方向吗?

4

3 回答 3

37

您的替换线几乎是正确的。您需要使用带有该g选项的正则表达式,该选项表示替换所有实例而不仅仅是第一个。您还可以交换订单(首先是要查找的内容,其次是要替换的内容)。

var sum2 = sum.toString().replace(/\./g, ',');

请注意:\在RegExp 中具有特殊含义,因此必须对其进行转义。..

于 2011-03-13T23:33:05.730 回答
1

如果 Sum 是一个数字,那么这将起作用。

var sum_formatted = String( sum ).replace(/\./g,',');

你能运行 typeof(sum) 并告诉我们输出是什么吗?

此外,如果您可以在 jsfiddle.com 中设置项目,那就太好了。

于 2011-03-13T23:33:02.223 回答
0

你的问题是你的替换函数不应该反过来读replace('.', ',')(你有replace(',', '.')),注意第一个参数是你要找的,第二个参数是你想要的。您正在用句点替换所有逗号。这里的正则表达式是不必要的。

于 2011-03-14T00:18:38.460 回答