Calculation, replace dot with a comma

2019-03-24 16:30发布

I have an order form on which I use the jQuery Calculation Plugin to sum up the total.

This summing up works fine, yet there is a problem with the produced 'sum'. In the sum I wish to replace any dot with a comma.

The basis of the code is;

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

Using a .replace() directly on the var sum doesn't work (referenced function not available on object). I have also tried this (but without effect);

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

As I'm kind of new to jQuery I'm pretty much stuck now, could anyone point me in the right direction?

标签: jquery euro
3条回答
趁早两清
2楼-- · 2019-03-24 16:35

If Sum was a number then this would work.

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

Can you run typeof(sum) and tell us what the output is.

Also if you can set the project up in jsfiddle.com that would be great.

查看更多
狗以群分
3楼-- · 2019-03-24 16:38

Your problem is that your replace function should read replace('.', ',') not the other way around (you had replace(',', '.')), Note that the first argument is what you're looking for, and the second argument is what you want there instead. You were replacing all commas with periods. Regex here is unnecessary.

查看更多
唯我独甜
4楼-- · 2019-03-24 16:54

Your replace line is almost right. You need to use a regexp with the g option, which says to replace all instances instead of just the first. You also have the order swapped (first is what to find, second is what to replace it with).

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

Note the \ before the .: . has a special meaning in a RegExp, so it has to be escaped.

查看更多
登录 后发表回答