• 締切済み

JDK1.5のjava.math.BigDecimal#toString

JDK1.5のjava.math.BigDecimal#toStringについて教えて下さい。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/math/BigDecimal.html#toString() SunにDocumentがありますが、この説明にある「調整された指数」の算出の仕方がよくわからないので、どういうときに指数表示されるのかが分かりません。 例を示してわかりやすく説明していただけるとありがたいです。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

-scale+(ulength-1) この計算式そのままではないでしょうか? >調整された指数 この式のそれぞれの変数の意味がわからないということであれば、 scale はそのまま BigDecimal のインスタンスメソッドですし、 ulengthは桁数ですよね。 こんなんで試してみました import java.math.BigDecimal; import java.math.BigInteger; class Rec { String val; int scale; Rec(String val, int scale) { this.val = val; this.scale = scale; } String to_s() { BigDecimal v = new BigDecimal( new BigInteger(this.val), this.scale); return "'" + this.val + "'" + " scale =" + this.scale + " ulength =" + this.val.length() + " -scale+(ulength-1) = " + (-v.scale() + this.val.length() - 1) + ", value= " + v.toString(); } } class Demo { static Rec testData[] = { new Rec("123", 0), //new Rec("-123", 0), new Rec("123", -1), new Rec("123", -3), new Rec("123", 1), new Rec("123", 5), new Rec("123", 10), new Rec("123", 12) }; public static void main(String[] args) { for (Rec i: testData) { System.out.println(i.to_s()); } } } 面倒くさかったので負の数は対応していません :) 実行結果は以下の通り '123' scale =0 ulength =3 -scale+(ulength-1) = 2, value= 123 '123' scale =-1 ulength =3 -scale+(ulength-1) = 3, value= 1.23E+3 '123' scale =-3 ulength =3 -scale+(ulength-1) = 5, value= 1.23E+5 '123' scale =1 ulength =3 -scale+(ulength-1) = 1, value= 12.3 '123' scale =5 ulength =3 -scale+(ulength-1) = -3, value= 0.00123 '123' scale =10 ulength =3 -scale+(ulength-1) = -8, value= 1.23E-8 '123' scale =12 ulength =3 -scale+(ulength-1) = -10, value= 1.23E-10

関連するQ&A

  • publicがprotectedになった場合のプログラム修正

    JDK1.4から1.3にバージョンを落とす事になったのですが、java.util.Calendar.getTimeInMillisが publicでなくprotectedでした。 http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/util/Calendar.html#getTimeInMillis() したがって、他のパッケージからのアクセスできなくなってしまったのですが、こういう場合どのように対処すれば良いでしょうか?

    • ベストアンサー
    • Java
  • APIリファレンス 日本語版のDLが見つかりません

    JDK1.5のAPIリファレンスの日本語版を探してます。 オンラインでの利用はhttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/overview-summary.html にありましたが、DLして使うタイプがあるのでしたら利用したいと思い投稿しました。 どなたかご存知の方がいらっしゃいましたら教えてください。

    • ベストアンサー
    • Java
  • 今、SunのサイトのjavaAPIリファレンス見られますか?

    たとえば http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/index.html とか、 http://java.sun.com/j2se/1.4/ja/docs/ja/api なんですが・・・。

    • ベストアンサー
    • Java
  • JAVAの初心者です。JDKについておしえてください。

    エクリプスを使おうとおもってたのですが、JDKから始めたいと思い、SUN社からインストールしてソースファイルを書き、さて実行してみようとおもったら、(1)のように出てしまってどうしたらよいのかわからなくなってしまいました。 ファイルの場所はメモ帳のプロパティをみて確認し、その場所のディレクトリに移動して、javac Sample1.java と、書いて実行したところ (1) "javac"は、内部コマンド、または外部コマンド 操作可能なプログラム、またはバッチファイルとして認識されていません。とでるのです、これってどうしたらよろしいのでしょうか?? コンパイラはhttp://java.sun.com/j2se/1.5.0/ja/download.html から落としたものです。 OSはXPです。 PATHの設定もしました。メモ帳に書いたソースはマイ・ドキュメントに保存しました。 PCにはエクリプスもインストールされてます。 この情報でもまだ足りないようでしたら補足いたします ご教授いただけたらうれしいです。 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • JavaのAPIについて

    Java Speech APIというのを使ってみたいのですが、どのバージョンのJ2SEをダウンロードしてみても入っていません。APIは自分で追加できるのでしょうか。また、どのようにするのでしょうか。 ●リファレンス http://java.sun.com/reference/api/index.html ●Java Speech API http://java.sun.com/products/java-media/speech/ ●パッケージ http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-doc/index.html

    • ベストアンサー
    • Java
  • Javaを始めようと思いますがどうやって始めたらよいかわかりません

    初めてのjavaで検索し、 http://itpro.nikkeibp.co.jp/article/lecture/20070130/260066/ このサイトを見つけ、リンク先 http://java.sun.com/j2se/1.5.0/ja/download.html から JDK 5.0 Update 14(Windows Platform - Java Development Kit 5.0 Update 14)Windows Offline Installation, Multi-language をダウンロードしてインストールしましたが、 "\Program Files\Java\jdk1.5.0_10\bin\javac" のようなパスは存在せず、 "\Program Files\Java\jre1.5.0_・・・" というちょっと違うパスしかありません。 Javaを最初から始めるにはどうしたらよいでしょうか?

    • ベストアンサー
    • Java
  • Java J2SDK J2SE SE EE ME の違いについて

    JavaによるWebアプリケーションを始めようと思い、Java、Tomcatをインストールしようと思います。 購入したテキストにはJ2SDK(j2sdk-1_4_2_13-windows-i8\589.exe)、 Tomcat(jakarta-tomcat-4.1.27-LE-jdk14.exe)をインストールせよとあり、指示されたHPを入力すると、sunのホームページ http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/index.html にはJ2SEとなっていますし、ダウンロードのメニュをクリックすると、 SE、EE、MEと色々あります。 また、 http://java.sun.com/javase/downloads/index.jsp を見に行くと、最新バージョンはJDK6となっています。 色々あって迷っています。 どれをインストールすればよいか、ご教授お願いします。

    • ベストアンサー
    • Java
  • JDKドキュメントの再配布形態について

    初めてお世話になります。 SunのJDKドキュメント http://java.sun.com/javase/ja/6/docs/ja/index.html をインターネットで外部からアクセス可能なサーバに設置することは、ライセンス上可能でしょうか。 ※検索すると色々なサイトが見つかりますし、検索サイトのキャッシュでも参照できるのでOK? またドキュメントの内容はそのままに、ページレイアウトなどの変更などを行った形で設置することは可能なのでしょうか。 ※例えばPHPのマニュアル提供サイトのように こういった話題をご存知の方、ご教示をお願いいたします。

    • ベストアンサー
    • Java
  • JavaのダウンロードできるAPIドキュメントを探してます

    こんな感じのでダウンロードができるのありますか。 http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/index.html もし、あるようでしたら教えて頂けると、大変有り難いです。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • Java
  • APIリファレンス

    こんにちは。java初心者のokwebsamaです。 今回ここで質問というか相談というか・・・・ javaのAPIリファレンスのサイト↓ http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/index.html よりわかりやすくクラスを説明してあるサイトどなたか知りませんか? 内容が難しくて書いてある意味がよくわかりません! 書籍などでもあったら教えて下さいm(--)m

    • ベストアンサー
    • Java

専門家に質問してみよう