• 締切済み

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は使いませんでしたが、調べるヒントをもらいました。ありがとうございました。  

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで指数の表示変換について その2

    Excel2000を使用しています。指数「1.234E-06」を「12.340E-07」へ表示変換する方法を教えて下さい。 以前指数の桁数を下げる方法は教わって出来ましたが、上げる方法が出来ないでいます。 何卒お分かりになる方教えて下さい。

  • 指数について

    関数電卓を使わないで 10^-4.17 のような指数をはずすことはできるのでしょうか? できたら計算方法まで教えてほしいです。

  • 電卓で指数計算できますか?

    電卓を使用して指数計算は可能でしょうか? 例えば:100×(1.01)の20乗(←表示の仕方が分かりません…)という場合、私はいつも1.01×1.01×…という感じで計算してましたが、途中で間違える可能性もありますし、疲れます。どなたか使い方をご教示下さい…

  • Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい

    Excelについての質問です。 他のシートからコピー&ペーストした13桁の数字の羅列データ(JANコードまがいのものです)をまた別のシートの同様のデータと文字列としてマッチングをしようとしています。 ただ、コピペ元のデータが数値と文字列が混在していてコピペ後にセルの書式設定で列を一括で文字列に設定すると「2.01E+12」のように指数表示になってしまうものがありました。 一つずつダブルクリックすれば元の数字に戻るのですが、なにしろ数が多く面倒なものでなんとかいっぺんに指数表示から元の数字に変換することができないものでしょうか。 ちなみにOSはWin2000、Excelも2000を使用しています。 今回はコピペしてしまった後の対処方法をお尋ねしていますが、コピペ時にこうすれば良いというような回避方法もありましたら併せてご回答頂ければ幸いです。

  • (Excel)数式の指数表示について

    例えば、0.00023という数字を入力して指数表示にしようとするとデフォルトでは、 2.3E-04 のように表示されます。 これをなんとか、2.3*10^-4のように表示したいのですが、どうしたらいいでしょうか? ユーザー定義で色々頑張ってみたのですが、 #.##"*10^"e+## としても、2.3*10^e-4と表示されてどうしてもeが残ってしまいます。

  • 指数表示したくない場合

    HTMLにて文字列として以下のように指数表示されているものを 指数表示せずに表示させる方法ってないでしょうか? 3.12E+24 を 3123123123123120000000000 で表示したい。

  • 指数関数について

    指数関数の計算です 次の指数関数の結果はどうなりますか? 結果を出すまでの過程もあると助かります。 e^{1/2(log|x^2-1|)}です。

  • 指数表示について

    グラフの指数近似をしたときに y=7E+46e-0.0537xの近似式が表示されました。 点(x=1940 y=41)を通る近似曲線です。 y=7*10^(46*10^(-0.0537*x))と解釈してx=1940を入れて計算してもうまくy=41に近い値が得られません。 どなたか上手い解決法を教えていただきますようにお願いいたします。

  • 整数の指数を少数の指数で表示したい

    awkで計算をさせた結果、下記のような値になりますが、 echo "" | awk '{ OFMT = "%5e"} {print 2*0.5*3.1415*60*8*2600*3500*20000*20000*(0.5*64.6*0.00000001)*(0.5*64.6*0.00000001) }' =  5.726440e+05 この5.726440e+05--> 0.5726440e+06 と出したいのですが方法が解りません。 awkでも、perlでも良いので、このような表示にする方法を教えてください。

    • ベストアンサー
    • Perl
  • java プログラミング 型変換 データベース

    型変換について質問です。下のプログラムは 「Double str2 = (Double)iter3.next();」 の行で java.lang.ClassCastException: [I at kadai6_a.main(kadai6_a.java:152) というエラーがでます。なんでかわからなくて教えてください! ちなみに上のStringへの型変換ではエラーはでないんです。。 (前略) PreparedStatement stmt2 = db.prepareStatement( "INSERT INTO doc(docid, docname,length) VALUES(?, ?, ?);"); docID = 0; Iterator iter2 =docNames.iterator(); List l = java.util.Arrays.asList(str); Iterator iter3 = l.iterator(); while(iter2.hasNext()){ while(iter3.hasNext()){ String docName = (String)iter2.next(); Double str2 = (Double)iter3.next(); stmt2.setInt(1, docID); stmt2.setString(2, docName); stmt2.setDouble(3,str2); stmt2.executeUpdate(); //System.out.println("docID="+docID); docID++; } } stmt2.close(); } catch (Exception e) { e.printStackTrace(); } (後略) ではお願いします!

    • ベストアンサー
    • Java

専門家に質問してみよう