NumberFormat类的setMaximumDigits方法

时间:2016-12-27 11:01:50

标签: ocpjp

请证明下面代码的输出是合理的。

代码:

import java.text.NumberFormat; import java.text.ParseException;

公共类Number_format_Demo {

/**
 * @param args
 * @throws ParseException 
 */
public static void main(String[] args) throws ParseException {
    NumberFormat nf=NumberFormat.getInstance();
    nf.setMaximumFractionDigits(1);
    String s[]={"111.234","222.5678"};
    for(String st:s)
        System.out.println(nf.parse(st));

}

}

输出:

111.234 222.5678

问题:

如果我们将最大数字设置为3,那么第二行输出是如何正确的呢?

1 个答案:

答案 0 :(得分:1)

方法setMaximumFractionDigits与方法"格式"一起使用。不是用方法"解析"。此外,float数据类型的格式可以不是String数据类型。

所以,正确的程序可以如下。

import java.text.NumberFormat; import java.text.ParseException;

公共类Number_format_Demo {

/**
 * @param args
 * @throws ParseException 
 */
public static void main(String[] args) throws ParseException {
    NumberFormat nf=NumberFormat.getInstance();
    nf.setMaximumFractionDigits(1);
    Float s[]={111.234f,222.5678f};
    for(Float st:s)
        System.out.println(nf.format(st));

}

}