Как преобразовать форматирование числа ЕС в число JavaScript с помощью регулярных выражений
Я пытаюсь преобразовать сумму валюты в формате ЕС, скажем, 1,243,51 (равно 1243,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);
}
1 ответ
function usToEuCurrencyFormat(input) {
return input.replace(/[,.]/g, function (x) { return x == "," ? "." : ","; }); }
}
Это, кажется, работает достаточно хорошо для меня (и просто parseFloat
это если хочешь поплавок).