3

我正在尝试将欧盟格式的货币金额(例如 1.243,51(在美国格式中等于 1,243.51))转换为 javascript 中的数字(即 1243.51)。

我设法找到了大量试图做非常相似的事情的例子,但我无法适应它。看来我需要使用正则表达式,我对此不太了解,但我设法找到了一些几乎可以完成任务的建议。我找到了一个用“。”替换“,”的正则表达式。和一个删除“。”。我想我必须分两步完成,但问题是删除“。”的那个也会截断点后面的数字。到目前为止,这是我想出的:

function usToEuCurrencyFormat(input) {
    var output = input.replace(/\./g, '');          //Removes dots
    output = input.replace((/,([^,]*)$/, ".$1"));   //Replaces commas with dots
    return parseFloat(output);
}
4

1 回答 1

4
function usToEuCurrencyFormat(input) {
    return input.replace(/[,.]/g, function (x) { return x == "," ? "." : ","; }); }
}

这对我来说似乎足够好(parseFloat如果你想要一个浮动就可以了)。

于 2012-09-29T09:58:53.120 回答