次のように、列挙型にいくつかの通貨があります。
public enum Currencies{USD, LVL, EUR;}
次に、(クラスItemの)エントリのリストがあり、すべてのエントリには、前述の通貨の1つの番号(タイプlong)があります。ここで、この数値をできるだけ効率的にフォーマットしたいと思います。
私がこれまでに行ったことは、関数を作成することです
public String getFormatedSum(){
NumberFormat mCurrencyFormatter = NumberFormat.getCurrencyInstance();
mCurrencyFormatter.setCurrency(Currency.getInstance(getCurrency().toString()));
return mCurrencyFormatter.format(getSum());
}
ここでgetCurrency()
、通貨を特定のアイテムの文字列として返します。
これでうまくいくことはわかっていますが、これを行うにはもっと良い方法があるはずだと思います。マップでフォーマッターをインスタンス化してから、必要なフォーマッターを取得してフォーマットすることを考えていましたが、NumberFormat
クラスは静的なようです。
ヒントはありますか、それとも私はこれを正しく行っていますか?