获取没有区域设置常量的国家/地区的货币格式

Ven*_*kat 24 java currency

我想得到印度的货币格式,所以我需要一个Locale印度的对象.但是只有少数国家有一个Locale常数(a static final Locale),印度不是其中之一.

要获取美国和英国的货币符号,我可以执行以下操作:

public void displayCurrencySymbols() {

    Currency currency = Currency.getInstance(Locale.US);
    System.out.println("United States: " + currency.getSymbol());

    currency = Currency.getInstance(Locale.UK);
    System.out.println("United Kingdom: " + currency.getSymbol());

}
Run Code Online (Sandbox Code Playgroud)

那使用常数Locale.USLocale.UK.如果我想获得印度货币格式,我该怎么办?

Thi*_*ilo 28

根据JDK发行说明,您有区域代码hi_IN(印地语)和en_IN(英语).

System.out.println(Currency.getInstance(new Locale("hi", "IN")).getSymbol());
Run Code Online (Sandbox Code Playgroud)


Cle*_*anX 18

继承人是你能做的简单事情,

  float amount = 100000;

  NumberFormat formatter = NumberFormat.getCurrencyInstance(new Locale("en", "IN"));

  String moneyString = formatter.format(amount);

  System.out.println(moneyString);
Run Code Online (Sandbox Code Playgroud)

输出将是,100,000卢比.


Anu*_*kar 5

我们必须手动创建印度的语言环境

Locale IND = new Locale("en", "IN");
NumberFormat india  = NumberFormat.getCurrencyInstance(IND);
int money = 3456
System.out.print(india.format(money));
Run Code Online (Sandbox Code Playgroud)

输出 - 卢比。3,456