簡単なテストコードを用意しましょう:
public static void main(String ... arg)
{
double d = 4000.0;
DecimalFormat df = new DecimalFormat("#,###.##");
System.out.println(df.format(d));
}
Oracle/SUN の Java 出力は (スペースあり):
4 000
しかし、IBM Javaで私は得ました:
4,000
私のJava:
Java バージョン "1.7.0_51" Java(TM) SE ランタイム環境 (ビルド 1.7.0_51-b13) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 24.51-b03、混合モード)
IBM ジャバ:
java -version java バージョン "1.6.0" Java(TM) SE ランタイム環境 (ビルド pap6460_26sr7ifix-20131203_01(SR7+IX90131+IV52621)) IBM J9 VM (ビルド 2.6、JRE 1.6.0 AIX ppc64-64 圧縮参照 20131011_170248 (JIT)有効、AOT 有効) J9VM - R26_Java626_SR7_20131011_1221_B170248 JIT - r11.b05_20131003_47443 GC - R26_Java626_SR7_20131011_1221_B170248_CMPRSS J9CL - 20131011_1CL301 - 25) JCL302
これはなぜですか?1.6/1.7の差だから?または、そのロケールの問題かもしれませんが、おそらくそうではありません。