根据国家/地区获取货币符号

我有一个显示货币的TextView。 默认情况下,我的textview的文本是: $0.00我如何根据用户选择进行$更改。

我有以下代码:

 Locale locale=new Locale("en", "US"); Currency currency=Currency.getInstance(locale); String symbol = currency.getSymbol(); Toast.makeText(getActivity(), symbol, Toast.LENGTH_SHORT).show(); 

哪个显示$但是如果我有以下内容:

 Locale locale=new Locale("en", "AU"); Currency currency=Currency.getInstance(locale); String symbol = currency.getSymbol(); Toast.makeText(getActivity(), symbol, Toast.LENGTH_SHORT).show(); 

它显示AU$而不是$

如何在没有所有额外内容的情况下设置货币符号?

如果你想要的是将这种格式添加到你可以做的数字

 myString = NumberFormat.getCurrencyInstance().format(myNumber); 

默认或

 myString = NumberFormat.getCurrencyInstance(new Locale("en", "AU")).format(myNumber); 

用于指定

您可以使用正则表达式删除所有单词字符。

  String symbol = currency.getSymbol().replaceAll("\\w", ""); 

但是,如果您正在处理的任何货币符号使用字母,这可能并不理想。