|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
内の toString
toString(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
内の hashCode
public 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
内の equals
obj
- このオブジェクトと比較するオブジェクトを渡します。
true
を、そうでなければ false
を返します。Boolean.hashCode()
,
Hashtable
public 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 部分は同仕様の範囲外であるため、まったく参考とはしていません。 ※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。 |