2016-12-27 2 views
0

次のコードの出力を正当化してください。NumberFormatクラスのsetMaximumDigitsメソッド

コード:

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その後、どのように最大の桁数を設定している場合2行目に出てくるputは正しいですか?

答えて

1

メソッドsetMaximumFractionDigitsは、メソッド "parse"ではなくメソッド "parse"で使用されます。さらに、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)); 

} 

}

関連する問題