2012-02-09 12 views
-3
public class Demo { 


public static void main(String args[]) 
{ 
    double d = 12.345; 

    System.out.printf("|%7.3f|\n",d); 
} 
} 

出力が| 12.345 |OCJP - javaでprintfを実装する

7.3fは何を示していますか?printfで使用できる他のオプションも知っています。 私が使用する場合

System.out.printf("|%5.3f|\n",d); 

私は同じ出力を得るのですか?なぜですか?

+4

http://sharkysoft.com/archive/printf/docs/javadocs/lava/clib/stdio/doc-files/specification.htm – Kent

答えて

2

両方の指定子(7.3および5.3)は "精度の3桁の数字を使用する" と言います。それらの違いは、「最小幅7」対「最小幅5」です。両方の出力は、6桁の長い文字列と3桁の精度を持つ小数点です。

データの実際の幅が指定された幅より小さいか等しい場合、幅の指定は便利です。データが指定された幅以上表示する必要がある場合、幅は無視されます。

PrintStream

0

文字列"%7.3f"は、dを7文字以下の小数点以下の浮動小数点数としてフォーマットすることを示します。

+0

7(JavadocはまたJava SE Downloadsからダウンロードすることができます)文字に小数点以下の小数点と小数点が含まれます。 – coder25

+0

を説明することができます。したがって、 '7'はフォーマッタに正確に7文字の"空白 "を空白以外の文字で埋めるように指示します。 'f'はフォーマッタに浮動小数点数を期待し、' 3'はフォーマッタに丸めを試みる小数点の数を伝えます。 – asf107

0
System.out.printf("|%2.3f|\n",d); 
System.out.printf("|%2.2f|\n",d); 
System.out.printf("|%2.1f|\n",d); 

System.out.printf("|%6.3f|\n",d); 
System.out.printf("|%7.3f|\n",d); 
System.out.printf("|%8.3f|\n",d); 

| 12.345 |
| 12.35 |
| 12.3 |
| 12.345 |
| 12.345 |
| 12.345 |左下のパネルでSystemクラスの
Java SE API

まず検索:

0

標準のJavaクラスとメソッドについての公式の情報源は、Javadocのです。
outPrintStreamのインスタンスであることがわかりました(右パネル)。
このリンクをクリックすると、PrintStreamのJavadocが表示され、printfというドキュメントがあります。
少なくとも、Format string syntaxの説明へのリンクが含まれています。