2012-01-23 11 views
-1

doubleに9桁の小数点以下桁数を設定したい場合、これを文字列に変換してからdoubleに戻ってこれを行う必要があります(文字列メソッドは私が設定した唯一のメソッドです)精度)?。いずれにしても、たとえば、私のメソッドが小数点以下9桁のdoubleを返すようにする場合、doubleの精度を設定する従来の方法は何ですか?Javaの精度を設定する

答えて

2

を取得します。内部的に倍数は常に同じ方法で格納されますが、もちろんDecimalFormatのようなフォーマッタを使用して、倍数から9つの小数点を返すことができます。

1

利用ビッグ進あなたは、二重の内部表現の間で混乱していると、それはディスプレイの9つの小数点以下の桁数

または

double d = 1.2345672626346; 
DecimalFormat df = new DecimalFormat("#.#########"); 
System.out.print(df.format(d)); 
1

Javaのプリミティブで精度を制御することはできません。 BigDecimalを使用する必要があります。 ..

0

this excellent tutorialを読むあなたはまた、使用することができます

DecimalFormat df = DecimalFormat.getInstance(Locale.getDefault()); 
df.setMinimumFractionDigits(9); //sets 9 digits after the '.' 
0
String formatedString = String.format("%.2f"); 

それはどんなO 5桁にpresitionを設定します。

この方法で印刷したい場合は、

System.out.printf("%.5f",123.2342622467);