Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

java.lang
クラス Double

java.lang.Object
  上位を拡張 java.lang.Double

public class Double
extends Object

プリミティブ型の double をラップするクラスです。 Double オブジェクトは1つの double 型の値を保持します。

ラップを行う他に String クラスへの変換および String クラスからの変換等の double に関連する処理を提供します。

導入されたバージョン:
CLDC 1.1

フィールドの概要
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()
          この Doublebyte 値(byte 値へキャストした結果)を返します。
static long doubleToLongBits(double value)
          IEEE 754 浮動小数点の倍精度フォーマット(double format)によるビット配列に基づいて、指定された浮動小数点の値を表現したものを返します。
 double doubleValue()
          この Doubledouble 値を返します。
 boolean equals(Object obj)
          渡されたオブジェクトとこのオブジェクトを比較します。
 float floatValue()
          この Doublefloat 値を返します。
 int hashCode()
          この Double オブジェクトのハッシュコードを返します。
 int intValue()
          この Doubleint 値(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()
          この Doublelong 値(long 値へキャストした結果)を返します。
static double parseDouble(String s)
          指定された文字列の表現を Double クラスの valueOf メソッドと同じように評価し、新しい double 値として返します。
 short shortValue()
          この Doubleshort 値(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
 

フィールドの詳細

POSITIVE_INFINITY

public static final double POSITIVE_INFINITY

double 型の正の無限大値を示す定数です。 この値は 0x7ff0000000000000L をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。

関連項目:
定数フィールド値

NEGATIVE_INFINITY

public static final double NEGATIVE_INFINITY

double 型の負の無限大値を示す定数です。 この値は 0xfff0000000000000L をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。

関連項目:
定数フィールド値

NaN

public static final double NaN

double 型の非数(NaN)を示す定数です。 この値は 0x7ff8000000000000L をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。

関連項目:
定数フィールド値

MAX_VALUE

public static final double MAX_VALUE

double 型の最も大きな値を示す定数です。 この値は 0x7fefffffffffffffL をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。

関連項目:
定数フィールド値

MIN_VALUE

public static final double MIN_VALUE

double 型の最も小さな値を示す定数です。 この値は 0x1L をビッグ・エンディアンとして IEEE 754 浮動小数点の倍精度フォーマット(Double Format)とみなした値と等価です。

関連項目:
定数フィールド値
コンストラクタの詳細

Double

public Double(double value)

パラメータに渡された value を持つオブジェクトを生成します。

パラメータ:
value - ラップする対象の倍精度値を渡します。
メソッドの詳細

toString

public static String toString(double d)

渡された倍精度値 value の文字列表現を作成して返します。 以下の文字は全て ASCII 文字です。

後者2つの場合には、小数部として出力する桁数は1桁以上必要です。

パラメータ:
d - 文字列表現する倍精度値を渡します。
戻り値:
文字列表現に変換した結果を返します。

valueOf

public static Double valueOf(String s)
                      throws NumberFormatException

指定された文字列によって提供された値に初期化された新しい Double オブジェクトを返します。 浮動小数点値を表すように文字列 s を解釈し、その値を持つ Double オブジェクトを作成して返します。

snull ならば NullPointerException を throw します。

s に含まれる先頭および終端の空白文字は無視します。 s の残りの部分は語彙規則で説明されるように浮動小数点値を構成すべきです:

浮動小数点値:
符号オプション 浮動小数点リテラル

符号と浮動小数点リテラルは Java 言語仕様のセクション 3.10.2 で定義されています。 浮動小数点値の形式でなければ NumberFormatException を throw します。 そうでなければ、それは通常の"コンピュータ科学記法"に基づく正確な 10 進数値を表現するとみなします。 続いて、この正確な 10 進数値を"無限に正確な"バイナリ値へ概念的に変換し、double 型への丸め込みを IEEE 754 浮動小数点演算の規則に沿って行います。 最後に、double 値を表現する新しい Double クラスのオブジェクトを作成します。

パラメータ:
s - 解析する対象の文字列を渡します。
戻り値:
文字列で指定された値に初期化された Double オブジェクトを新たに作成して返します。
例外:
NumberFormatException - 文字列が解析不可能な数値であるなら throw します。

parseDouble

public static double parseDouble(String s)
                          throws NumberFormatException

指定された文字列の表現を Double クラスの valueOf メソッドと同じように評価し、新しい double 値として返します。

パラメータ:
s - 解析する対象の文字列を渡します。
戻り値:
文字列で指定された double 値を返します。
例外:
NumberFormatException - 文字列が解析不可能な数値であるなら throw します。
関連項目:
valueOf(String)

isNaN

public static boolean isNaN(double v)

指定された値が特別な非数(NaN)値ならば true を返します。

パラメータ:
v - テストする対象の値を渡します。
戻り値:
指定された値が非数(NaN)ならば true を、そうでなければ false を返します。

isInfinite

public static boolean isInfinite(double v)

指定された値の絶対値が無限大ならば true を返します。

パラメータ:
v - テストする対象の値を渡します。
戻り値:
指定された値の絶対値が無限大ならば true を、そうでなければ false を返します。

isNaN

public boolean isNaN()

この Double の値が特別な非数(NaN)ならば true を返します。

戻り値:
このオブジェクト値が非数(NaN)ならば true を、そうでなければ false を返します。

isInfinite

public boolean isInfinite()

この Double の値の絶対値が無限大ならば true を返します。

戻り値:
このオブジェクト値の絶対値が無限大ならば true を、そうでなければ false を返します。

toString

public String toString()

この Double の値の文字列表現を返します。 このオブジェクトによるプリミティブ double 値の表現は、toString メソッドでの変換と同様に文字列へ変換されます。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現を返します。
関連項目:
toString(double)

byteValue

public byte byteValue()

この Doublebyte 値(byte 値へキャストした結果)を返します。

戻り値:
このオブジェクトの byte 値を返します。

shortValue

public short shortValue()

この Doubleshort 値(short 値へキャストした結果)を返します。

戻り値:
このオブジェクトの short 値を返します。

intValue

public int intValue()

この Doubleint 値(int 値へキャストした結果)を返します。

戻り値:
このオブジェクトによって表現される double 値を int 型に変換した結果を返します。

longValue

public long longValue()

この Doublelong 値(long 値へキャストした結果)を返します。

戻り値:
このオブジェクトによって表現される double 値を long 型に変換した結果を返します。

floatValue

public float floatValue()

この Doublefloat 値を返します。

戻り値:
このオブジェクトによって表現される double 値を float 型に変換した結果を返します。

doubleValue

public double doubleValue()

この Doubledouble 値を返します。

戻り値:
このオブジェクトによって表現される double 値を返します。

hashCode

public int hashCode()

この Double オブジェクトのハッシュコードを返します。 返す値は doubleToLongBits(double) メソッドで得られる long 値の上位 32 ビットと下位 32 ビットの排他的論理和した値です。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコードを返します。

equals

public boolean equals(Object obj)

渡されたオブジェクトとこのオブジェクトを比較します。 等しいとして true を返すのは、objnull ではなく Double クラスと代入互換性があり、保持している double 値が一致する場合のみです。 つまり、doubleToLongBits(double) メソッドが返すビット配列を long 値に変換した結果の値が一致する場合と言い換えることができます。

多くの場合は Double クラスのインスタンスを d1d2 とした場合に、d1.equals(d2)true を返すのは d1.doubleValue() == d2.doubleValue() の式が true となる場合です。 しかし、d1d2 の値が両方とも非数(NaN)である場合は式は成立しませんが、内容が同一であるため true を返します。 また、d1+0.0 であり d2-0.0 を表すか、d1-0.0 であり d2+0.0 を表す場合は上記の式は成立しますが、このメソッドは false を返します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - このオブジェクトと比較するオブジェクトを渡します。
戻り値:
このオブジェクトと指定されたオブジェクトが一致するとみなせる場合には true を、そうでなければ false を返します。
関連項目:
Boolean.hashCode(), Hashtable

doubleToLongBits

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 - 倍精度浮動小数点による値を渡します。
戻り値:
浮動小数点を表現するビットを返します。

longBitsToDouble

public static double longBitsToDouble(long bits)

指定されたビット配列によって表現される倍精度浮動小数点値を返します。 bits を IEEE 754 浮動小数点の倍精度フォーマット(double format)によるビット配列であるとみなし、その評価結果を値として返します。

bits0x7ff0000000000000L であれば正の無限大を返します。

bits0xfff0000000000000L であれば負の無限大を返します。

bits0x7ff0000000000001L から 0x7fffffffffffffffL の範囲か 0xfff0000000000001L から 0xffffffffffffffffL の範囲であれば非数(NaN)を返します。

他の全てのケースでは、まず se および nbits から算出します:

 int s = ((bits >> 63) == 0) ? 1 : -1;
 int e = (int)((bits >> 52) & 0x7ffL);
 long m = (e == 0) ? (bits & 0xfffffffffffffL) << 1 :
                     (bits & 0xfffffffffffffL) | 0x10000000000000L;

そして以上の値を数式表現 sm ・ 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 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。