DecimalFormat format = new DecimalFormat("#,###.000"); 
System.out.println(format.format(111123456.1227222));DecimalFormat format = new DecimalFormat("##,###.000"); 
System.out.println(format.format(111123456.1227222));
请问这里红色字体标注的地方,为什么加一个和两个#号,没什么区别啊?
这是为什么啊?有点纳闷,谢谢大家

解决方案 »

  1.   

    #是代表非零数字
    0是代表数字实际上DecimalFormat("#,###.000")和DecimalFormat("##,###.000")效果一样,只是为了中间加数字分割符(,)
      

  2.   

    中间的三个#号只是为了凑足3个位数,并且吧左边的数字分隔符','体现出来。是为了说明数字隔3位出一个分隔符
    至于数字分割符左边的#号有几个都没有关系,没有也可以。就像new DecimalFormat(",###.000"); 也是可以的。