在Android中获取货币符号的正确方法是什么?

时间:2016-10-10 04:02:31

标签: java android

此代码工作正常,但如果我更改设备语言,这也显示Rs那么获取货币符号的正确方法是什么?

public void displayTotlaPrice() {
    TextView totalPriceTextView = (TextView) findViewById(R.id.total_Price);
    totalPriceTextView.setText("Rs" + displayCalculatePrice());
}

4 个答案:

答案 0 :(得分:3)

    Locale locale = Locale.getDefault();
    Currency currency = Currency.getInstance(locale);
    String symbol = currency.getSymbol().replaceAll("\\w", "");

答案 1 :(得分:1)

试试这个,希望它有效。

yourString= NumberFormat.getCurrencyInstance().format(yourNumber);

NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
String cur = currencyFormatter.format(yourValue);

具体

yourString= NumberFormat.getCurrencyInstance(new Locale("en", "AU")).format(yourNumber);

数字将根据设备语言格式化。

详情:

How to get currency symbol by currency name?

Currency

答案 2 :(得分:0)

将变量存储在string.xml

<string name="Rs">\u20B9</string>

现在,只要您想要显示Rs符号

,请在下面调用它
textView.setText(getResources().getString(R.string.Rs) + "500");

答案 3 :(得分:0)

你可以使用,

    Locale swedishLocale = new Locale("sv", "SE");
    Currency currency = Currency.getInstance(swedishLocale);
    System.out.println("Symbol: " + currency.getSymbol());

有关详细信息,请访问display the currency for a locale