JDK1.5のjava.math.BigDecimal#toStringについて教えて下さい。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/ja …
SunにDocumentがありますが、この説明にある「調整された指数」の算出の仕方がよくわからないので、どういうときに指数表示されるのかが分かりません。
例を示してわかりやすく説明していただけるとありがたいです。
A 回答 (1件)
- 最新から表示
- 回答順に表示
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux sshコマンドのgitが示す意味は何でしょうか? 1 2022/11/18 12:02
- Word(ワード) ワード365で、[数式ツール]を表示させる方法 1 2023/08/09 15:44
- その他(IT・Webサービス) MacとWindows Google検索した時のURL表示の違いについて 1 2022/11/17 10:38
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- JavaScript ブックマークレットについて 2 2022/10/09 11:48
- Android(アンドロイド) アップデート配信終了したはずの Pixel3a にアップデートが来たのですが... 2 2022/09/16 18:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「例外 *** は対応する try 文...
-
Javaを使ってデジタル時計を作...
-
ColabでのPytorchのエラー
-
Java での グローバルIP取得
-
干支の計算で。。。
-
java初心者です。座標取得と図...
-
(急募)JavaカレンダーをGUI可に...
-
python OpenPyXLを使って出力結...
-
文字列を数式に
-
透過GIFの判定の仕方ありますか?
-
jFrameを使って複数の画面を生...
-
【JAVAエラー】互換性のない型...
-
eclipseに記述したjavaファイル...
-
System.err. printlnとSystem.o...
-
VBAで配列の計算
-
ORA-01858: 数値を指定する箇所...
-
Java配列でNullPointerExceptio...
-
ループ処理の際、最後だけ","を...
-
配列にnullを代入すると、null...
-
Javaで改行などが出来ないのです。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
ColabでのPytorchのエラー
-
Javaを使ってデジタル時計を作...
-
<forEach> 内で供給された "ite...
-
文字列を数式に
-
importするには java.io.*; imp...
-
python OpenPyXLを使って出力結...
-
Selenium IDEでexportしたコー...
-
シャットダウンフックが呼ばれない
-
Java3Dで横置き円筒体の円筒中...
-
Javaで常駐するソフトを作って...
-
生年月日と今日の日付から年齢...
-
Javaを使用して定時送信をしたい
-
干支の計算で。。。
-
Java での グローバルIP取得
-
GridBagLayoutについての質問
-
ファイル名を動的に生成したい
-
HTMLでのTableタグデータ取得方法
-
importとextendsの用い方の違い...
おすすめ情報