2011-08-25 7 views

答えて

69

これを使用:

printf ("%.2f", 3.14159); 
+8

これは実際に数値を丸めることに注意する必要があります。これは単なるカットオフではありません。 – jimpic

1

printf( "%2f"、[double]);

12

あなたはこのようなものを使用することができます印刷するよりも、あなたはSE NumberFormatクラス:Formatterクラスで説明したように

NumberFormat formatter = new DecimalFormatter("#.##"); 
String s = formatter.format(3.14159265); // Creates a string containing "3.14" 
+3

または 'String s = String.format("%2f "、number) '。 – brimborium

3

は、あなたが精度を宣言する必要があります。あなたの場合は%.2fです。

2

この

printf ("%.2f", 3.14159); 
0

を使用して、私は多くの場合のために、これはあなたのニーズに十分であろうと、あなたが他のオブジェクトを作成する必要はありませんので、printf関数でそれを学ぶことをお勧めします。

double d = 3.14159;  
printf ("%.2f", d); 

しかし、あなたはこの記事に

https://stackoverflow.com/a/153785/2815227

1
System.out.printf("%.2f", number); 

しかしを参照してください丸めが必要な場合、これはあなたが言及している最も近い小数点に番号を丸めます。(同様に3.14159の小数点以下2桁までの小数点以下は3.14になりますので、3.14になります)

あなただけカットオフに小数を必要と丸めずにk進数に限定した場合のprintf

、他のいくつかの数字について回答がこのように見えるかもしれ番号、

System.out.printf("%.2f", 3.14136); -> 3.14 
System.out.printf("%.2f", 3.14536); -> 3.15 
System.out.printf("%.2f", 3.14836); -> 3.15 

を丸めます

はk = 2と言うことができます。

System.out.printf("%.2f", 3.14136 - 0.005); -> 3.14 
System.out.printf("%.2f", 3.14536 - 0.005); -> 3.14 
System.out.printf("%.2f", 3.14836 - 0.005); -> 3.14 
関連する問題