Я знаю, что подобный вопрос задавался несколько раз тише.Разница в том, что я не могу использовать решение, которое использует .toLocalString () или замечательный Intl.NumberFormat ().
Вместо этого я должен создать форматтер с нуля, и я начал делать это с этой частьюкода:
var currCurrency = "EUR";
function Format__Currency(val, currency) {
switch (currency) {
case 'EUR':
currencyFormat = '0,00';
val = val.replace('.', ',');
val = currencyFormat.replace('0,00', val);
break;
case 'CHF':
currencyFormat = '0.00';
val = val.replace(',', '.');
val = currencyFormat.replace('0.00', val);
break;
case 'USD':
currencyFormat = '0.00';
val = currencyFormat.replace('0.00', val);
break;
default:
throw new Error('Unknown currency format');
break;
}
return val;
}
var price = Format__Currency("1929.90", "EUR")
$("#result").html(price);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="result"> - </div>
«Ручная версия» подходит мне, поскольку мне нужно только поддерживать 4 или 5 валют, и я выясню, какой у них должен быть формат.
Моя проблема в том, что в настоящее время я могу изменить только делитель для десятичных разрядов.Но есть и разные тысячи разделителей.например, 1920,90 для долларов США, 1,920,90 для евро или 1 920,90 для швейцарских франков.
Как ЭТО может быть решено?
PS: Если недовольные избиратели, пожалуйста, скажите мне, что не так с этим вопросом?