让我们有一个简单的测试代码:
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 版本“1.7.0_51”Java(TM) SE 运行时环境(构建 1.7.0_51-b13)Java HotSpot(TM) 64 位服务器 VM(构建 24.51-b03,混合模式)
IBM Java:
java -version java version "1.6.0" Java(TM) SE Runtime Environment (build pap6460_26sr7ifix-20131203_01(SR7+IX90131+IV52621)) IBM J9 VM (build 2.6, JRE 1.6.0 AIX ppc64-64 Compressed References 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_17014)
任何人都知道这是为什么?是因为1.6/1.7的区别吗?或者可能是它的语言环境问题,可能不是。