3

EU 形式の通貨金額、たとえば 1.243,51 (米国形式では 1,243.51 に相当) を JavaScript の数値 (1243.51) に変換しようとしています。

非常に似たようなことをしようとしている多くの例を見つけることができましたが、それを適応させることはできませんでした. あまり理解していない正規表現を使用する必要があるようですが、ほとんどのタスクを実行するいくつかの提案を見つけることができました。「、」を「。」に置き換える正規表現を1つ見つけました。「.」を削除するもの。私はそれを2段階で行う必要があると考えましたが、問題は、「.」を削除するものもドットの後ろの数字を切り捨てていることです. これは私がこれまでに思いついたものです:

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 に答える