请证明下面代码的输出是合理的。
代码:
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,那么第二行输出是如何正确的呢?
答案 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));
}
}