数値を金額フォーマットで3ケタごとにカンマをつけ、プラス(+)マイナス(-)の符号記号を付けるサンプルソースを以下に記します。
java.text.DecimalFormatを使うことにより、数値をカンマ区切りおよび符号付きに整形できます。
以下にサンプルソースを記します。
import java.text.DecimalFormat; class ConvertMoneyFormat2 { public static void main(String args[]) { // カンマ区切りフォーマットに変換する数値 Double dnum1 = 12345D; Double dnum2 = -12345D; Integer inum1 = 67890; Integer inum2 = -67890; // カンマ区切りに整形した文字列を格納する変数 String strNum = ""; // DecimalFormat によりカンマ区切りおよび符号付きに整形 DecimalFormat format = new DecimalFormat(); format.applyPattern("+###,###,###,###;-###,###,###,###"); // 処理数字 strNum = format.format(dnum1); System.out.println(strNum); strNum = format.format(dnum2); System.out.println(strNum); strNum = format.format(inum1); System.out.println(strNum); strNum = format.format(inum2); System.out.println(strNum); } }
以下に上記サンプルソースの実行結果を記します。
$ javac ConvertMoneyFormat2.java $ java ConvertMoneyFormat2 +12,345 -12,345 +67,890 -67,890
決算書などに使うマイナスを示す△を指定することも可能です。
import java.text.DecimalFormat; class ConvertMoneyFormat3 { public static void main(String args[]) { // カンマ区切りフォーマットに変換する数値 Double dnum1 = 12345D; Double dnum2 = -12345D; Integer inum1 = 67890; Integer inum2 = -67890; // カンマ区切りに整形した文字列を格納する変数 String strNum = ""; // DecimalFormat によりカンマ区切りおよび符号付きに整形 DecimalFormat format = new DecimalFormat(); format.applyPattern("###,###,###,###;△###,###,###,###"); // 処理数字 strNum = format.format(dnum1); System.out.println(strNum); strNum = format.format(dnum2); System.out.println(strNum); strNum = format.format(inum1); System.out.println(strNum); strNum = format.format(inum2); System.out.println(strNum); } }
以下に上記サンプルソースの実行結果を記します。
$ javac ConvertMoneyFormat3.java $ java ConvertMoneyFormat3 12,345 △12,345 67,890 △67,890
以上、カンマ区切りと符号付きに整形するサンプルソースと実行結果の紹介でした。