Вопрос по numbers, java, currency – поддержка нового индийского символа валюты в Java

5

как отформатировать число с новым индийским символом валюты (& # x20B9;), используя java.if, если есть какой-то обходной путь, дайте нам поделиться.

Ваш Ответ

2   ответа
0

https://www.karnataka.gov.in/Documents/Rupee_Foradian.ttf скопируйте этот шрифт в папку шрифтов Windows (в RUN -> введите шрифты).

затем   Font ProMed_Font = новый шрифт ("Rupee Foradian", Font.PLAIN, 10); установить выше шрифт для метки

пример: выходные данные label.settext ("100" + "") будут равны 100 + символы рупии

PLease enter the key properly as showed in image

4

Пока Java должным образом не поддерживает новый символ, вы можете вручную указать символ валюты, используя его значение в Юникоде.

Юникод для индийского символа валютыU+20B9

Таким образом, чтобы вставить этот символ в строку Java, вы указываете его как\u20B9 вместо значения по умолчанию для валюты в десятичном формате\u00A4

Например:

DecimalFormat formatter = new DecimalFormat("\u20B9 000");

К сожалению, это жестко закодирует ваш вывод, чтобы всегда отображать символ рупии. Если вам нужно поддерживать несколько локалей, вы можете проверить системное свойство user.country.

boolean iAmInIndia = "IN".equals(System.getProperty("user.country"));
DecimalFormat formatter = iAmInIndia ? new DecimalFormat("\u20B9 000") : new DecimalFormat("\u00A4 000");

Кроме того, компонент, который вы используете для отображения этой строки, должен иметь шрифт, который содержит символ валюты. Arial на Windows 7 делает, однако многие другие не делают.

Лучшей альтернативой, чем шаблон, было бы использование currencyInstance NumberFormat и обновление символа валюты в его внутренних метаданных DecimalFormatSymbols.

Похожие вопросы