此代码工作正常,但如果我更改设备语言,这也显示Rs那么获取货币符号的正确方法是什么?
public void displayTotlaPrice() {
TextView totalPriceTextView = (TextView) findViewById(R.id.total_Price);
totalPriceTextView.setText("Rs" + displayCalculatePrice());
}
答案 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);
数字将根据设备语言格式化。
详情:
答案 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