11

システムのデフォルトの通貨記号を取得するのに問題があります。私はこの方法で通貨記号を取得しています:

Currency currency = Currency.getInstance(Locale.getDefault());
Log.v("TAG",currency.getSymbol());

システム言語がEnglish (United States)正しい場合、記号が表示されます($)。しかし、言語を選択すると、Portuguese (Portugal)この記号が返されます¤

これを引き起こしているのは何ですか?

4

3 に答える 3

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

これにより、デバイス言語に基づいて int/double が通貨にフォーマットされます

    String currency = cur.replaceAll("[0-9.,]","");

これは、すべての数字、ドット、コンマを置き換えて、通貨記号だけを取得する方法です。

于 2015-05-29T00:25:49.657 に答える