#android #currency #numberformatter
#Android #Валюта #numberformatter
Вопрос:
Я попытался преобразовать int в формат currency, и все сработало так, как я ожидал
пример 1000 —> Rp1.000
но на некоторых устройствах результаты не такие, как я ожидал
, т.е. 1000 —> Rp1.000,00
Итак, вопрос в том, как удалить последние 2 дополнительных nolls, если устройство их отображает.
мой текущий код:
public static String toUang(String DigitUang) {
return NumberFormat.getCurrencyInstance(new Locale("in", "ID")).format(Double.parseDouble(DigitUang));
}
Ответ №1:
Лучшим решением здесь, вероятно, было бы исправить настройки вашего языка и обработать презентацию там. При этом вы также, вероятно, могли бы справиться с этим, используя замену регулярных выражений:
public static String toUang(String DigitUang) {
return NumberFormat.getCurrencyInstance(new Locale("in", "ID"))
.format(Double.parseDouble(DigitUang))
.replaceAll("[,.]00$", "");
}
Комментарии:
1. на некоторых устройствах нет настройки формата locale, но это тоже работает, спасибо