|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.lang.Double
public class Double
プリミティブ型の double をラップするクラスです。
Double オブジェクトは1つの double 型の値を保持します。
ラップを行う他に String クラスへの変換および String クラスからの変換等の double に関連する処理を提供します。
| フィールドの概要 | |
|---|---|
static double |
MAX_VALUE
double 型の最も大きな値を示す定数です。 |
static double |
MIN_VALUE
double 型の最も小さな値を示す定数です。 |
static double |
NaN
double 型の非数(NaN)を示す定数です。 |
static double |
NEGATIVE_INFINITY
double 型の負の無限大値を示す定数です。 |
static double |
POSITIVE_INFINITY
double 型の正の無限大値を示す定数です。 |
| コンストラクタの概要 | |
|---|---|
Double(double value)
パラメータに渡された value を持つオブジェクトを生成します。 |
|
| メソッドの概要 | |
|---|---|
byte |
byteValue()
この Double の byte 値(byte 値へキャストした結果)を返します。 |
static long |
doubleToLongBits(double value)
IEEE 754 浮動小数点の倍精度フォーマット(double format)によるビット配列に基づいて、指定された浮動小数点の値を表現したものを返します。 |
double |
doubleValue()
この Double の double 値を返します。 |
boolean |
equals(Object obj)
渡されたオブジェクトとこのオブジェクトを比較します。 |
float |
floatValue()
この Double の float 値を返します。 |
int |
hashCode()
この Double オブジェクトのハッシュコードを返します。 |
int |
intValue()
この Double の int 値(int 値へキャストした結果)を返します。 |
boolean |
isInfinite()
この Double の値の絶対値が無限大ならば true を返します。 |
static boolean |
isInfinite(double v)
指定された値の絶対値が無限大ならば true を返します。 |
boolean |
isNaN()
この Double の値が特別な非数(NaN)ならば true を返します。 |
static boolean |
isNaN(double v)
指定された値が特別な非数(NaN)値ならば true を返します。 |
static double |
longBitsToDouble(long bits)
指定されたビット配列によって表現される倍精度浮動小数点値を返します。 |
long |
longValue()
この Double の long 値(long 値へキャストした結果)を返します。 |
static double |
parseDouble(String s)
指定された文字列の表現を Double クラスの valueOf メソッドと同じように評価し、新しい double 値として返します。 |
short |
shortValue()
この Double の short 値(short 値へキャストした結果)を返します。 |
String |
toString()
この Double の値の文字列表現を返します。 |
static String |
toString(double d)
渡された倍精度値 value の文字列表現を作成して返します。 |
static Double |
valueOf(String s)
指定された文字列によって提供された値に初期化された新しい Double オブジェクトを返します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
getClass, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final double POSITIVE_INFINITY
double 型の正の無限大値を示す定数です。
この値は 0x7ff0000000000000L をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。
public static final double NEGATIVE_INFINITY
double 型の負の無限大値を示す定数です。
この値は 0xfff0000000000000L をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。
public static final double NaN
double 型の非数(NaN)を示す定数です。
この値は 0x7ff8000000000000L をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。
public static final double MAX_VALUE
double 型の最も大きな値を示す定数です。
この値は 0x7fefffffffffffffL をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。
public static final double MIN_VALUE
double 型の最も小さな値を示す定数です。
この値は 0x1L をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。
| コンストラクタの詳細 |
|---|
public Double(double value)
パラメータに渡された value を持つオブジェクトを生成します。
value - ラップする対象の倍精度値を渡します。| メソッドの詳細 |
|---|
public static String toString(double d)
渡された倍精度値 value の文字列表現を作成して返します。
以下の文字は全て ASCII 文字です。
value が非数であれば、結果文字列は"NaN"です。
value の符号と絶対値を表現する文字列です。
符号がマイナスであれば、結果の先頭文字は '-' です;
符号がプラスであれば、どのような符号文字も結果に付加しません。
value の絶対値が無限であれば、それは文字列"Infinity"と表現されます。
したがって、プラスの無限大は結果として"Infinity"となり、マイナスの無限大は結果として"-Infinity"となります。
value の絶対値がゼロであれば、それは文字列"0.0"と表現されます。
したがって、プラスのゼロは結果として"0.0"となり、マイナスのゼロは結果として"-0.0"となります。
value の絶対値が 10-3 以上 10-7 未満の場合、絶対値の整数部にゼロを付加せずに10進数表現し、小数点 '.'(Unicode U-002E)を加え、絶対値の小数部を1桁以上の10進数表現した形で結果文字列を作成します。
value の絶対値が 10-3 未満あるいは 10-7 以上の場合、"コンピュータ科学記法"(整数部が 1 〜 9 に収まるように桁を調整し、残りを小数点以下に表現し、調整した桁数分を文字 'E' に続けて指数部に置く表現)による浮動小数点で表現されます。
後者2つの場合には、小数部として出力する桁数は1桁以上必要です。
d - 文字列表現する倍精度値を渡します。
public static Double valueOf(String s)
throws NumberFormatException
指定された文字列によって提供された値に初期化された新しい Double オブジェクトを返します。
浮動小数点値を表すように文字列 s を解釈し、その値を持つ Double オブジェクトを作成して返します。
s が null ならば NullPointerException を throw します。
s に含まれる先頭および終端の空白文字は無視します。
s の残りの部分は語彙規則で説明されるように浮動小数点値を構成すべきです:
浮動小数点値:符号オプション 浮動小数点リテラル
符号と浮動小数点リテラルは Java 言語仕様のセクション 3.10.2 で定義されています。
浮動小数点値の形式でなければ NumberFormatException を throw します。
そうでなければ、それは通常の"コンピュータ科学記法"に基づく正確な 10 進数値を表現するとみなします。
続いて、この正確な 10 進数値を"無限に正確な"バイナリ値へ概念的に変換し、double 型への丸め込みを IEEE 754 浮動小数点演算の規則に沿って行います。
最後に、double 値を表現する新しい Double クラスのオブジェクトを作成します。
s - 解析する対象の文字列を渡します。
Double オブジェクトを新たに作成して返します。
NumberFormatException - 文字列が解析不可能な数値であるなら throw します。
public static double parseDouble(String s)
throws NumberFormatException
指定された文字列の表現を Double クラスの valueOf メソッドと同じように評価し、新しい double 値として返します。
s - 解析する対象の文字列を渡します。
double 値を返します。
NumberFormatException - 文字列が解析不可能な数値であるなら throw します。valueOf(String)public static boolean isNaN(double v)
指定された値が特別な非数(NaN)値ならば true を返します。
v - テストする対象の値を渡します。
true を、そうでなければ false を返します。public static boolean isInfinite(double v)
指定された値の絶対値が無限大ならば true を返します。
v - テストする対象の値を渡します。
true を、そうでなければ false を返します。public boolean isNaN()
この Double の値が特別な非数(NaN)ならば true を返します。
true を、そうでなければ false を返します。public boolean isInfinite()
この Double の値の絶対値が無限大ならば true を返します。
true を、そうでなければ false を返します。public String toString()
この Double の値の文字列表現を返します。
このオブジェクトによるプリミティブ double 値の表現は、toString メソッドでの変換と同様に文字列へ変換されます。
Object 内の toStringtoString(double)public byte byteValue()
この Double の byte 値(byte 値へキャストした結果)を返します。
byte 値を返します。public short shortValue()
この Double の short 値(short 値へキャストした結果)を返します。
short 値を返します。public int intValue()
この Double の int 値(int 値へキャストした結果)を返します。
double 値を int 型に変換した結果を返します。public long longValue()
この Double の long 値(long 値へキャストした結果)を返します。
double 値を long 型に変換した結果を返します。public float floatValue()
この Double の float 値を返します。
double 値を float 型に変換した結果を返します。public double doubleValue()
この Double の double 値を返します。
double 値を返します。public int hashCode()
この Double オブジェクトのハッシュコードを返します。
返す値は doubleToLongBits(double) メソッドで得られる long 値の上位 32 ビットと下位 32 ビットの排他的論理和した値です。
Object 内の hashCodepublic boolean equals(Object obj)
渡されたオブジェクトとこのオブジェクトを比較します。
等しいとして true を返すのは、obj が null ではなく Double クラスと代入互換性があり、保持している double 値が一致する場合のみです。
つまり、doubleToLongBits(double) メソッドが返すビット配列を long 値に変換した結果の値が一致する場合と言い換えることができます。
多くの場合は Double クラスのインスタンスを d1 と d2 とした場合に、d1.equals(d2) が true を返すのは d1.doubleValue() == d2.doubleValue() の式が true となる場合です。
しかし、d1 と d2 の値が両方とも非数(NaN)である場合は式は成立しませんが、内容が同一であるため true を返します。
また、d1 が +0.0 であり d2 が -0.0 を表すか、d1 が -0.0 であり d2 が +0.0 を表す場合は上記の式は成立しますが、このメソッドは false を返します。
Object 内の equalsobj - このオブジェクトと比較するオブジェクトを渡します。
true を、そうでなければ false を返します。Boolean.hashCode(),
Hashtablepublic static long doubleToLongBits(double value)
IEEE 754 浮動小数点の倍精度フォーマット(double format)によるビット配列に基づいて、指定された浮動小数点の値を表現したものを返します。
ビット 63(0x8000000000000000L でマスクすることによって選択されるビット)は浮動小数点の符号を表現します。
ビット 62 〜 52(0x7ff0000000000000L でマスクすることによって選択されるビット)は指数を表現します。
ビット 51 〜 0(0x000fffffffffffffL でマスクすることによって選択されるビット)は浮動小数点の仮数を表現します。
value が正の無限大であれば、0x7ff0000000000000L を返します。
value が負の無限大であれば、0xfff0000000000000L を返します。
value が非数(NaN)であれば、0x7ff8000000000000L を返します。
全ての場合において、返した値は longBitsToDouble(long) メソッドに渡すことで元の浮動小数点による値を得ることができます。
value - 倍精度浮動小数点による値を渡します。
public static double longBitsToDouble(long bits)
指定されたビット配列によって表現される倍精度浮動小数点値を返します。
bits を IEEE 754 浮動小数点の倍精度フォーマット(double format)によるビット配列であるとみなし、その評価結果を値として返します。
bits が 0x7ff0000000000000L であれば正の無限大を返します。
bits が 0xfff0000000000000L であれば負の無限大を返します。
bits が 0x7ff0000000000001L から 0x7fffffffffffffffL の範囲か 0xfff0000000000001L から 0xffffffffffffffffL の範囲であれば非数(NaN)を返します。
他の全てのケースでは、まず s、e および n を bits から算出します:
int s = ((bits >> 63) == 0) ? 1 : -1;
int e = (int)((bits >> 52) & 0x7ffL);
long m = (e == 0) ? (bits & 0xfffffffffffffL) << 1 :
(bits & 0xfffffffffffffL) | 0x10000000000000L;
そして以上の値を数式表現 s ・ m ・ 2e-1075 に当てはめた値を算出し、浮動小数点値として返します。
bits - 変換する対象のビット配列を渡します。
|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
| 公式仕様書原文の著作権表記等(※): Mobile Information Device Profile Specification ("Specification") Version: 2.0 Status: FCS Release: November 5, 2002 Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc. All rights reserved. | ※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。 ※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。 |
