- 締切済み
凄い初歩的な質問かと思うんですが・・・
電卓を作っているんですが、 小数点計算を可能にする為double型で計算しているんですが、 例えば、555555555.0 + 5.0となると、答えが5.5555556E8となります。 なぜですか? まだdouble型の値の範囲超えてないですよね? 解決方法と合わせて教えてください。 お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- _ranco_
- ベストアンサー率58% (126/214)
回答No.2
DecimalFormatクラスのドキュメンテーションは、詳しく分かりやすく書かれています。 http://www.exampledepot.com/egs/java.text/pkg.html ここのe311などを参考に、自分でいろんなコードを書いてみて、やり方を納得してください。
- _ranco_
- ベストアンサー率58% (126/214)
回答No.1
Javaのデフォルトの書式については、Double.toString()メソッドのドキュメンテーションを読んでください。 特定の書式をお望みの場合は、書式化: String.format()メソッド もしくは、java.text.DecimalFormatクラス または書式化出力: System.printf() など を使ってください。
お礼
ありがとうございます。 もしよろしければ、使用方法を教えてくれませんか? 例えば最初の質問のdouble型での555555555.0 + 5.0の計算が、 そのままの答えで出るような感じで。 電卓を作っていて最初からlong型で計算すれば、 整数のみの時はOKでも小数点が絡むとダメで、 小数点を考えてdouble型でいくと整数の表示が・・・ とゆう感じで困ってます。