0

请证明以下代码的输出。

代码:

导入 java.text.NumberFormat;导入 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,那么第二行输出如何正确?

4

1 回答 1

1

方法 setMaximumFractionDigits 与方法“format”一起使用,而不是与方法“parse”一起使用。此外,浮点数据类型不能格式化为字符串数据类型。

因此,正确的程序可能如下。

导入 java.text.NumberFormat;导入 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));

}

}

于 2016-12-27T11:20:14.470 回答