2016-05-12 3 views
-1

2桁の値を10桁に丸める簡単な方法を探していましたが、私にはうまく見える方法も見つからず、すべてが複雑すぎました。 誰かが私を助けてくれることを願っています。値0.83426945721236485は0.8342694572になりますJavaで二重の値を10桁に丸めますか?

ありがとうございます。

+1

BigDecimalを使用する必要がありますあなたはそれを丸めるか、ちょうど10日後にすべての数字を削除しますか?また、10桁または小数点以下10桁を意味しますか?今は11桁です – Gendarme

+0

@Gendarmeポイントの後ろの桁数を10桁に丸める(つまり、0.1234567891) –

+0

@shmoselこのスレッドは既に見ましたが、あまりにも複雑な解決策がありました –

答えて

2

シンプルです。

DecimalFormat df = new DecimalFormat("0.0000000000"); 
System.out.println(df.format(0.83426945721236485)); 

のドキュメントを見てみましょう: https://docs.oracle.com/javase/8/docs/api/java/text/DecimalFormat.html

+0

しかし、私はそれが既に与えられた値を丸める方法を見ることができません、ちょうど画面上の数字を印刷するように見えます。 –

+0

あなたはそうです。私は過去10分間、丸めを行うための原始的な方法を思いついたが、いくつかの厄介な文字列の連結と解析を行わずに、短い方法を見つけることができなかった。 –

0

小数点以下の桁数を、それが2進浮動小数点であるため、二重のために内部的に意味がありません。

prior answerのように、DecimalFormatでサポートされている任意の形式で表示することもできます。あなたは10の小数点の内部表現をしたい場合は

、あなたはスケールファクタ10

関連する問題