Форматирование валюты в индийском формате нумерации
Форматирование валюты в индийском формате нумерации может оказаться сложной задачей, поскольку оно отличается от стандартной западной нотации. Обычно значение типа 450500 в Индии записывается как 4,50,500. В этой статье рассматриваются нюансы форматирования индийской валюты и предлагается подходящее решение с использованием ICU4J.
Индийская система нумерации использует запятые для разделения цифр в группах по два, за исключением последней группы, которая разделяется тысячами. Например:
Стандартный класс Java DecimalFormat не поддерживает переменную ширину группы, что делает его непригодным для этой задачи. Однако класс NumberFormat ICU4J преодолевает это ограничение.
Format format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in"));
System.out.println(format.format(new BigDecimal("100000000")));
Этот код выводит:
Rs 10,00,00,000.00
Обратите внимание, что Класс NumberFormat ICU4J расширяет Format, а не NumberFormat. В версии DecimalFormat для Android эта функция также поддерживается, поскольку она реализована с помощью ICU.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3