2008年10月6日月曜日

数値と文字列を通貨の出力形式で出力する

数値を通貨の出力形式で出力するにはNumberFormatクラスのgetCurrencyInstance(Locale.フィールド)メソッドを用いる。

例えば、2000という数値を¥2,000という出力形式(文字列)で出力させたい場合、以下のメソッドを用いるとよい。

public toYen(long number){
 NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.JAPAN);
  return nf.format(number);
}

さて、long型の整数値はこれでよいが、webアプリではフォームからの入力を文字列で受け取る。そのため、文字列として与えられた数字を上記のような形式で出力したい場合が多いだろう。その場合は、上記のメソッドをオーバーロードした以下のメソッドを用いると良い。

public toYen(String number){
 NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.JAPAN);
  return nf.format(Integer.valueOf(number).intValue());
}

これは、ただ単に、文字列numberをInteger.valueOf(number).intValue()という操作を通して整数値に変換しているだけ。

0 件のコメント: