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

java.lang
クラス Float

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

public class Float
extends Object

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

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

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

フィールドの概要
static float MAX_VALUE
          float 型の最も大きな値を示す定数です。
static float MIN_VALUE
          float 型の最も小さな値を示す定数です。
static float NaN
          float 型の非数(NaN)を示す定数です。
static float NEGATIVE_INFINITY
          float 型の負の無限大値を示す定数です。
static float POSITIVE_INFINITY
          float 型の正の無限大値を示す定数です。
 
コンストラクタの概要
Float(double value)
          パラメータに渡された value を持つオブジェクトを生成します。
Float(float value)
          パラメータに渡された value を持つオブジェクトを生成します。
 
メソッドの概要
 byte byteValue()
          この Floatbyte 値(byte 値へキャストした結果)を返します。
 float doubleValue()
          この Floatfloat 値を返します。
 boolean equals(Object obj)
          渡されたオブジェクトとこのオブジェクトを比較します。
static int floatToLongBits(float value)
          IEEE 754 浮動小数点の単精度フォーマット(float format)によるビット配列に基づいて、指定された浮動小数点の値を表現したものを返します。
 float floatValue()
          この Floatfloat 値を返します。
 int hashCode()
          この Float オブジェクトのハッシュコードを返します。
static float intBitsToFloat(int bits)
          指定されたビット配列によって表現される単精度浮動小数点値を返します。
 int intValue()
          この Floatint 値(int 値へキャストした結果)を返します。
 boolean isInfinite()
          この Float の値の絶対値が無限大ならば true を返します。
static boolean isInfinite(float v)
          指定された値の絶対値が無限大ならば true を返します。
 boolean isNaN()
          この Float の値が特別な非数(NaN)ならば true を返します。
static boolean isNaN(float v)
          指定された値が特別な非数(NaN)値ならば true を返します。
 int longValue()
          この Floatlong 値(long 値へキャストした結果)を返します。
static float parseFloat(String s)
          指定された文字列の表現を Float クラスの valueOf メソッドと同じように評価し、新しい float 値として返します。
 short shortValue()
          この Floatshort 値(short 値へキャストした結果)を返します。
 String toString()
          この Float の値の文字列表現を返します。
static String toString(float d)
          渡された単精度値 value の文字列表現を作成して返します。
static Float valueOf(String s)
          指定された文字列によって提供された値に初期化された新しい Float オブジェクトを返します。
 
クラス java.lang.Object から継承されたメソッド
getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

POSITIVE_INFINITY

public static final float POSITIVE_INFINITY

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

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

NEGATIVE_INFINITY

public static final float NEGATIVE_INFINITY

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

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

NaN

public static final float NaN

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

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

MAX_VALUE

public static final float MAX_VALUE

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

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

MIN_VALUE

public static final float MIN_VALUE

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

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

Float

public Float(float value)

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

パラメータ:
value - ラップする対象の単精度値を渡します。

Float

public Float(double value)

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

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

toString

public static String toString(float d)

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

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

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

valueOf

public static Float valueOf(String s)
                     throws NumberFormatException

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

snull ならば NullPointerException を throw します。

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

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

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

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

parseFloat

public static float parseFloat(String s)
                        throws NumberFormatException

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

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

isNaN

public static boolean isNaN(float v)

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

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

isInfinite

public static boolean isInfinite(float v)

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

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

isNaN

public boolean isNaN()

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

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

isInfinite

public boolean isInfinite()

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

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

toString

public String toString()

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

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

byteValue

public byte byteValue()

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

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

shortValue

public short shortValue()

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

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

intValue

public int intValue()

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

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

longValue

public int longValue()

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

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

floatValue

public float floatValue()

この Floatfloat 値を返します。

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

doubleValue

public float doubleValue()

この Floatfloat 値を返します。

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

hashCode

public int hashCode()

この Float オブジェクトのハッシュコードを返します。 返す値は floatToLongBits(float) メソッドで得られる int 値そのままです。

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

equals

public boolean equals(Object obj)

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

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

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

floatToLongBits

public static int floatToLongBits(float value)

IEEE 754 浮動小数点の単精度フォーマット(float format)によるビット配列に基づいて、指定された浮動小数点の値を表現したものを返します。

ビット 31(0x80000000 でマスクすることによって選択されるビット)は浮動小数点の符号を表現します。 ビット 30 〜 23(0x7f800000 でマスクすることによって選択されるビット)は指数を表現します。 ビット 22 〜 0(0x007fffff でマスクすることによって選択されるビット)は浮動小数点の仮数を表現します。

value が正の無限大であれば、0x7f800000 を返します。

value が負の無限大であれば、0xff800000 を返します。

value が非数(NaN)であれば、0x7fc00000 を返します。

全ての場合において、返した値は intBitsToFloat(int) メソッドに渡すことで元の浮動小数点による値を得ることができます。

パラメータ:
value - 単精度浮動小数点による値を渡します。
戻り値:
浮動小数点を表現するビットを返します。

intBitsToFloat

public static float intBitsToFloat(int bits)

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

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

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

bits0x7f800001 から 0x7fffffff の範囲か 0xff800001 から 0xffffffff の範囲であれば非数(NaN)を返します。

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

 int s = ((bits >> 31) == 0) ? 1 : -1;
 int e = ((bits >> 23) & 0xff);
 int m = (e == 0) ? (bits & 0x7fffff) << 1 :
                    (bits & 0x7fffff) | 0x800000;

そして以上の値を数式表現 sm ・ 2e-150 に当てはめた値を算出し、浮動小数点値として返します。

パラメータ:
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 はこちらです。