• 締切済み

凄い初歩的な質問かと思うんですが・・・

電卓を作っているんですが、 小数点計算を可能にする為double型で計算しているんですが、 例えば、555555555.0 + 5.0となると、答えが5.5555556E8となります。 なぜですか? まだdouble型の値の範囲超えてないですよね? 解決方法と合わせて教えてください。 お願いします。

みんなの回答

  • _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() など を使ってください。

reggae_88
質問者

お礼

ありがとうございます。 もしよろしければ、使用方法を教えてくれませんか? 例えば最初の質問のdouble型での555555555.0 + 5.0の計算が、 そのままの答えで出るような感じで。 電卓を作っていて最初からlong型で計算すれば、 整数のみの時はOKでも小数点が絡むとダメで、 小数点を考えてdouble型でいくと整数の表示が・・・ とゆう感じで困ってます。

関連するQ&A