各位大大!小弟我最近在学习NumberFormat,现在碰到一个很奇怪的问题,代码如下:
    NumberFormat nf = NumberFormat.getInstance();
    NumberFormat cnf = NumberFormat.getCurrencyInstance();
    NumberFormat inf = NumberFormat.getIntegerInstance();
    NumberFormat nnf = NumberFormat.getNumberInstance();
    NumberFormat pnf = NumberFormat.getPercentInstance();    nnf.setMinimumIntegerDigits(4);
    nnf.setMaximumFractionDigits(3);
    
    System.out.println(nf.format(9999));
    System.out.println(cnf.format(9999));
    System.out.println(inf.format(9999.5145));//修改前
    System.out.println(nnf.format(333.5145));//修改前
    System.out.println(pnf.format(9999));
执行结果:
    9,999
    ¥9,999
    10,000
    0,333.514
    999,900%    NumberFormat nf = NumberFormat.getInstance();
    NumberFormat cnf = NumberFormat.getCurrencyInstance();
    NumberFormat inf = NumberFormat.getIntegerInstance();
    NumberFormat nnf = NumberFormat.getNumberInstance();
    NumberFormat pnf = NumberFormat.getPercentInstance();
    
    nnf.setMinimumIntegerDigits(4);
    nnf.setMaximumFractionDigits(3);
    
    System.out.println(nf.format(9999));
    System.out.println(cnf.format(9999));
    System.out.println(inf.format(9999.51455));// 修改后
    System.out.println(nnf.format(333.51455));// 修改后
    System.out.println(pnf.format(9999));
执行结果:
    9,999
    ¥9,999
    10,000
    0,333.515
    999,900%
小弟我想问一下,为什么增加了一位数字就会出现不同的结果!谢谢!