HOME > 数値をフォーマットする
数値をフォーマットする
int型やdouble型などの数値をカンマ区切り形式で表示したり、頭ゼロ埋めで表示したい時にjavaには便利なクラスがあります。
そのクラスは以下の2つがあります。
・【java.text.NumberFormat】 表示形式が既定のフォーマットでOKな場合
・【java.text.DecimalFormat】 独自にフォーマット形式を作成したい場合
既定クラスを使用したサンプルコード
カンマ区切り形式、通貨形式、パーセント表示形式はよく使われるために既にフォーマット形式が定義されているので簡単にフォーマット変換が行えます。
例)カンマ区切り形式、通貨形式、パーセント表示形式フォーマットサンプル
- NumberFormatSample.java
-
import java.text.NumberFormat; public class NumberFormatSample { public static void main(String args[]) { //NumberFormatインスタンスを生成 NumberFormat nfNum = NumberFormat.getNumberInstance(); //カンマ区切り形式 NumberFormat nfCur = NumberFormat.getCurrencyInstance(); //通貨形式 NumberFormat nfPer = NumberFormat.getPercentInstance(); //パーセント形式 //指定した値をフォーマットして表示する System.out.println(nfNum.format(12345.6789)); System.out.println(nfCur.format(12345.6789)); System.out.println(nfPer.format(0.9876)); } }
実行結果
- コマンドプロンプト
- C:\>java NumberFormatSample 12,345.679 ¥12,346 99%
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
String | format(long a) | 引数aをフォーマット変換する | |
String | format(double a) | 引数aをフォーマット変換する | |
NumberFormat | getNumberInstance() | ○ | カンマ区切形式フォーマット |
NumberFormat | getCurrencyInstance() | ○ | 通貨形式フォーマット |
NumberFormat | getPercentInstance() | ○ | パーセント形式フォーマット |
NumberFormat | getInstance() | ○ | デフォルト形式 (getNumberInstanceと同じ) |
パターン指定サンプルコード
独自にフォーマットパターンを指定したい場合には、java.text.DecimalFormatクラスを使用します。
例)独自指定形式フォーマットサンプル
- DecimalFormatSample.java
-
import java.text.DecimalFormat; public class DecimalFormatSample { public static void main(String args[]) { //DecimalFormatインスタンスを生成 DecimalFormat df1 = new DecimalFormat("#,###.##"); DecimalFormat df2 = new DecimalFormat("00,000.00"); DecimalFormat df3 = new DecimalFormat("##0.00%"); //指定した値をフォーマットして表示する System.out.println(df1.format(123456789.5678)); System.out.println(df2.format(1234.5)); System.out.println(df3.format(0.56789)); } }
実行結果
- コマンドプロンプト
- C:\>java DecimalFormatSample 123,456,789.57 01,234.50 56.79%
文字 | メモ |
---|---|
0 | 数値1桁を表す。その桁に数値が無い場合は"0"を表示する |
# | 数値1桁を表す。その桁に数値が無い場合はブランクとなる |
. | 小数点を表す。 |
, | カンマ区切りを表す。 |
- | マイナスを表す。 |
% | 数値を100倍してパーセント表示にする。 |
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
String | format(long a) | aをフォーマット変換する | |
String | format(double a) | aをフォーマット変換する | |
String | toPattern() | フォーマットパターンを返す |
数値・演算カテゴリ