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

时间:2013-08-15 19:59:43

标签: java android currency android-location

我有一个显示货币的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$而不是$

如何设置货币符号而不需要额外的东西?

2 个答案:

答案 0 :(得分:4)

如果您想要的是将该格式添加到您可以执行的数字

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

默认 或

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

指定

答案 1 :(得分:2)

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

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

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