• 締切済み

Java での指数表示(2.5E-4)を変換したい

Java(android)にて電卓を作っております。 Double型の計算結果をString型に変換して表示させましたが、小さな数字は全て指数表示になります。2.5E-4 の表示を 0.00025 のString型に変換する方法は無いでしょうか? Javaの仕様なので仕方がないのですが、方法を知っておられる方、教えてください。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

http://developer.android.com/reference/java/lang/String.html#format%28java.lang.String,%20java.lang.Object...%29 String型を使うとわかっているなら、String型のメンバくらいは一通りマニュアルを読んでおいた方がいいと思いますよ。

terafield
質問者

お礼

返答ありがとうございます。さっそくStringを調べてみました。 String.format("%f", atai);  でよろしいでしょうか? まちがっていたら、すいません。ただ、Double型なのに出力は小数点6ケタまでとなりました。 例)1/3 → 0.333333   本当は 0.333333333333333 が欲しい。 で、いろいろ調べるうちに、java.text.DecimalFormat なるものを見つけました。 DecimalFormat df2 = new DecimalFormat("0.###################"); anser=df2.format(atai); これなら、Double型を変換で困っていた 1.0 は 1 へ。 java仕様の小数点の最後の丸め誤差も一度に解決出来ました。 教えてもらったStringは使いませんでしたが、調べるヒントをもらいました。ありがとうございました。