数値を金額フォーマットで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
以上、カンマ区切りと符号付きに整形するサンプルソースと実行結果の紹介でした。