JavaTM 2
Platform
Std. Ed. v1.4.0

java.lang
クラス Float

java.lang.Object
  |
  +--java.lang.Number
        |
        +--java.lang.Float
すべての実装インタフェース:
Comparable, Serializable

public final class Float
extends Number
implements Comparable

Float クラスは、プリミティブ型 float の値をオブジェクト内にラップします。Float 型のオブジェクトには、float 型の単一のフィールドがあります。

さらにこのクラスは、floatString に、Stringfloat に変換する各種メソッドや、float の処理時に役立つ定数およびメソッドも提供します。

導入されたバージョン:
JDK1.0
関連項目:
直列化された形式

フィールドの概要
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 型の正の無限大を保持する定数です。
static Class TYPE
          float のプリミティブ型を表す Class インスタンス
 
コンストラクタの概要
Float(double value)
          float 型に変換された引数を表す、新しく割り当てられた Float オブジェクトを構築します。
Float(float value)
          プリミティブな float 型の引数を表す、新しく割り当てられた Float オブジェクトを構築します。
Float(String s)
          文字列で表される float 型の浮動小数点値を表す、新しく割り当てられた Float オブジェクトを構築します。
 
メソッドの概要
 byte byteValue()
          この Float の値を (byte にキャストすることにより) byte として返します。
static int compare(float f1, float f2)
          指定された 2 つの float 値を比較します。
 int compareTo(Float anotherFloat)
          2 つの Float オブジェクトを数値的に比較します。
 int compareTo(Object o)
          この Float オブジェクトをほかのオブジェクトと比較します。
 double doubleValue()
          この Float オブジェクトの double 値を返します。
 boolean equals(Object obj)
          このオブジェクトを指定されたオブジェクトと比較します。
static int floatToIntBits(float value)
          IEEE 754 浮動小数点の「シングルフォーマット (double format)」ビットレイアウトに従って、指定された浮動小数点の値を表現して返します。
static int floatToRawIntBits(float value)
          IEEE 754 浮動小数点の「シングルフォーマット (double format)」ビットレイアウトに従って、非数 (NaN) 値を保持する、指定された浮動小数点値の表現を返します。
 float floatValue()
          この Float オブジェクトの float 値を返します。
 int hashCode()
          この Float オブジェクトのハッシュコードを返します。
static float intBitsToFloat(int bits)
          指定されたビット表現と対応する float 値を返します。
 int intValue()
          この Float の値を (int 型にキャストすることにより) int として返します。
 boolean isInfinite()
          この Float 値の絶対値が無限量である場合には true を、そうでない場合には false を返します。
static boolean isInfinite(float v)
          指定された数値の絶対値が無限量である場合には true を、そうでない場合には false を返します。
 boolean isNaN()
          この Float 値が非数 (NaN) である場合には true を、そうでない場合は false を返します。
static boolean isNaN(float v)
          指定された数値が非数 (NaN) である場合には true を、そうでない場合は false を返します。
 long longValue()
          この Float の値を (long 型にキャストすることにより) long として返します。
static float parseFloat(String s)
          Float クラスの valueOf メソッドを実行した場合と同様に、指定された String が表す値に初期化された新しい float 値を返します。
 short shortValue()
          この Float の値を (short にキャストすることにより) short として返します。
 String toString()
          この Float オブジェクトの文字列表現を返します。
static String toString(float f)
          float 引数の文字列表現を返します。
static Float valueOf(String s)
          文字列引数 s で表される float 値を保持する Float オブジェクトを返します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

POSITIVE_INFINITY

public static final float POSITIVE_INFINITY
float 型の正の無限大を保持する定数です。Float.intBitsToFloat(0x7f800000) が返す値と同じです。

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

NEGATIVE_INFINITY

public static final float NEGATIVE_INFINITY
float 型の負の無限大を保持する定数です。Float.intBitsToFloat(0xff800000) が返す値と同じです。

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

NaN

public static final float NaN
float 型の非数 (NaN) 値を保持する定数です。Float.intBitsToFloat(0x7fc00000) が返す値と同じです。

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

MAX_VALUE

public static final float MAX_VALUE
float 型の正の最大有限値を保持する定数です。Float.intBitsToFloat(0x7f7fffff) が返す値と同じです。

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

MIN_VALUE

public static final float MIN_VALUE
float 型の正の非ゼロ最小値です。Float.intBitsToFloat(0x1) が返す値と同じです。

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

TYPE

public static final Class TYPE
float のプリミティブ型を表す Class インスタンス

導入されたバージョン:
JDK1.1
コンストラクタの詳細

Float

public Float(float value)
プリミティブな float 型の引数を表す、新しく割り当てられた Float オブジェクトを構築します。

パラメータ:
value - Float によって表される値

Float

public Float(double value)
float 型に変換された引数を表す、新しく割り当てられた Float オブジェクトを構築します。

パラメータ:
value - Float によって表される値

Float

public Float(String s)
      throws NumberFormatException
文字列で表される float 型の浮動小数点値を表す、新しく割り当てられた Float オブジェクトを構築します。文字列は、valueOf メソッドを使う場合と同様にして float 値に変換されます。

パラメータ:
s - Float に変換する文字列
例外:
NumberFormatException - 文字列が構文解析可能な数値を含まない場合
関連項目:
valueOf(java.lang.String)
メソッドの詳細

toString

public static String toString(float f)
float 引数の文字列表現を返します。以下の文字はすべて ASCII 文字です。 m または a の小数部として出力する桁数を検討してみましょう。小数部を表す桁は 1 桁以上が必要です。float 型の隣接する値から引数を一意に識別するのに最低限必要な桁数にしてください。たとえば、ゼロでない有限の引数 f を指定してこのメソッドで作成した 10 進値表記を x とします。この場合、fxfloat 型の最近似値でなければなりません。つまり、2 つの float 値が均等に x に近似している場合であれば、f は 2 つの値のどちらかでなければならず、有効な最下位ビットは 0 でなければなりません。

浮動小数点値の地域に対応した文字列表現を作成する場合、NumberFormat のサブクラスを使用します。

パラメータ:
f - 変換対象の float
戻り値:
この引数の文字列表現

valueOf

public static Float valueOf(String s)
                     throws NumberFormatException
文字列引数 s で表される float 値を保持する Float オブジェクトを返します。

snull の場合は、NullPointerException がスローされます。

s 内の先頭と末尾の空白文字は無視されます。s の残りの文字が、次の字句構文規則に従って FloatValue を構成します。

FloatValue:
Signopt NaN
Signopt Infinity
Signopt FloatingPointLiteral
ここで、SignFloatingPointLiteralJava 言語仕様§3.10.2 の定義に従います。FloatValue の形式でない場合、NumberFormatException がスローされます。そうでない場合、s は通常の浮動小数点表記で正確な 10 進値を表していると見なされます。この正確な 10 進値は、概念上は無限に正確なバイナリ値に変換されてから、IEEE 754 浮動小数点計算法による通常の最近似値丸め法 (ゼロ値の符号保持を含む) に従って float 型に丸められます。最後に、float 値を表す Float オブジェクトが返されます。

浮動小数点値の地域に対応した文字列表現を解釈する場合、NumberFormat のサブクラスを使用します。

パラメータ:
s - 構文解析される文字列
戻り値:
String 引数により表される値を保持する Float オブジェクト
例外:
NumberFormatException - 文字列が構文解析可能な数値を含まない場合

parseFloat

public static float parseFloat(String s)
                        throws NumberFormatException
Float クラスの valueOf メソッドを実行した場合と同様に、指定された String が表す値に初期化された新しい float 値を返します。

パラメータ:
s - 構文解析される文字列
戻り値:
文字列引数で表される float
例外:
NumberFormatException - 文字列が構文解析可能な float 値を含まない場合
導入されたバージョン:
1.2
関連項目:
valueOf(String)

isNaN

public static boolean isNaN(float v)
指定された数値が非数 (NaN) である場合には true を、そうでない場合は false を返します。

パラメータ:
v - 判定される値
戻り値:
引数が NaN である場合は true、そうでない場合は false

isInfinite

public static boolean isInfinite(float v)
指定された数値の絶対値が無限量である場合には true を、そうでない場合には false を返します。

パラメータ:
v - 判定される値
戻り値:
引数が正の無限大または負の無限大である場合は true、そうでない場合は false

isNaN

public boolean isNaN()
この Float 値が非数 (NaN) である場合には true を、そうでない場合は false を返します。

戻り値:
このオブジェクトが表す値が NaN である場合は true、そうでない場合は false

isInfinite

public boolean isInfinite()
この Float 値の絶対値が無限量である場合には true を、そうでない場合には false を返します。

戻り値:
このオブジェクトが表す値が正の無限大または負の無限大である場合は true、そうでない場合は false

toString

public String toString()
この Float オブジェクトの文字列表現を返します。このオブジェクトが表すプリミティブ float 値は、1 つの引数をとる toString メソッドを実行した場合と同じ String に変換されます。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの String 表現
関連項目:
toString(float)

byteValue

public byte byteValue()
この Float の値を (byte にキャストすることにより) byte として返します。

オーバーライド:
クラス Number 内の byteValue
戻り値:
byte 型に変換されたこのオブジェクトが表す float

shortValue

public short shortValue()
この Float の値を (short にキャストすることにより) short として返します。

オーバーライド:
クラス Number 内の shortValue
戻り値:
short 型に変換されたこのオブジェクトが表す float
導入されたバージョン:
JDK1.1

intValue

public int intValue()
この Float の値を (int 型にキャストすることにより) int として返します。

定義:
クラス Number 内の intValue
戻り値:
int 型に変換されたこのオブジェクトが表す float

longValue

public long longValue()
この Float の値を (long 型にキャストすることにより) long として返します。

定義:
クラス Number 内の longValue
戻り値:
long 型に変換されたこのオブジェクトが表す float

floatValue

public float floatValue()
この Float オブジェクトの float 値を返します。

定義:
クラス Number 内の floatValue
戻り値:
このオブジェクトが表す float

doubleValue

public double doubleValue()
この Float オブジェクトの double 値を返します。

定義:
クラス Number 内の doubleValue
戻り値:
このオブジェクトが表す float 値を double 型に変換した値

hashCode

public int hashCode()
この Float オブジェクトのハッシュコードを返します。結果は、floatToIntBits(float) メソッドで生成した場合とまったく同じように、この Float オブジェクトが表すプリミティブ float 値の int 型ビット表現になります。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
このオブジェクトを指定されたオブジェクトと比較します。結果が true になるのは、引数が null でなく、このオブジェクトが表す float 値と同じ値を保持する float を表す Float オブジェクトである場合だけです。このため、2 つの float 値が等しいと見なされるのは、floatToIntBits(float) メソッドを各値に適用したときに同一の int 値が返される場合だけです。

ほとんどの場合、Float クラスの 2 つのインスタンス f1 および f2 について、f1.equals(f2) の値が true になるのは、次の式の値が true になる場合だけです。

   f1.floatValue() == f2.floatValue()
 

しかし、例外事項も 2 つあります。

この定義によって、ハッシュテーブルは正しく動作します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象のオブジェクト
戻り値:
オブジェクトが同じである場合は true、そうでない場合は false
関連項目:
floatToIntBits(float)

floatToIntBits

public static int floatToIntBits(float value)
IEEE 754 浮動小数点の「シングルフォーマット (double format)」ビットレイアウトに従って、指定された浮動小数点の値を表現して返します。

ビット 31 (マスク 0x80000000 によって選択されるビット) は、浮動小数点の符号を表します。ビット 30-23 (マスク 0x7f800000 によって選択されるビット) は、指数を表します。ビット 22-0 (マスク 0x007fffff によって選択されるビット) は、浮動小数点の有効値 (仮数と呼ばれる場合もある) を表します。

引数が正の無限大の場合は、0x7f800000 が返される

引数が負の無限大の場合は、0xff800000 が返される

引数が NaN の場合は、0x7fc00000 が返される

どの場合も、返される値は整数であり、intBitsToFloat(int) メソッドを指定すると、floatToIntBits への引数と同じ浮動小数点値になります (すべての NaN 値が単一の「正規」NaN 値に収納されることを除く)。

パラメータ:
value - 浮動小数点値
戻り値:
浮動小数点値を表すビット

floatToRawIntBits

public static int floatToRawIntBits(float value)
IEEE 754 浮動小数点の「シングルフォーマット (double format)」ビットレイアウトに従って、非数 (NaN) 値を保持する、指定された浮動小数点値の表現を返します。

ビット 31 (マスク 0x80000000 によって選択されるビット) は、浮動小数点の符号を表します。ビット 30-23 (マスク 0x7f800000 によって選択されるビット) は、指数を表します。ビット 22-0 (マスク 0x007fffff によって選択されるビット) は、浮動小数点の有効値 (仮数と呼ばれる場合もある) を表します。

引数が正の無限大の場合は、0x7f800000 が返される

引数が負の無限大の場合は、0xff800000 が返される

引数が NaN の場合、返される値は実際の NaN 値を示す整数です。floatToIntBits メソッドとは異なり、intToRawIntBits メソッドが、すべてのビットパターン符号化 NaN を単一の正規 NaN 値に収納することはありません。

どの場合も、返される値は整数型であり、intBitsToFloat(int) メソッドで指定された場合に、floatToIntBits に指定された引数と同じ浮動小数点値が生成されます。

パラメータ:
value - 浮動小数点値
戻り値:
浮動小数点値を表すビット

intBitsToFloat

public static float intBitsToFloat(int bits)
指定されたビット表現と対応する float 値を返します。引数は、IEEE 754 浮動小数点「シングルフォーマット」ビット配列に従った浮動小数点表現と見なされます。

引数が 0x7f800000 の場合は、正の無限大が返されます。

引数が 0xff800000 の場合は、負の無限大が返されます。

引数が 0x7f8000010x7fffffff または 0xff8000010xffffffff の範囲内の値の場合、結果は NaN になります。Java により提供される IEEE 754 浮動小数点操作は、異なるビットパターンを持つ同じ型の 2 つの NaN 値を識別できません。個別の NaN 値を識別できるのは、Float.floatToRawIntBits メソッドを使用する場合だけです。

そのほかの場合では、se、および m の 3 つの値について次の引数から計算できるとします。

 int s = ((bits >> 31) == 0) ? 1 : -1;
 int e = ((bits >> 23) & 0xff);
 int m = (e == 0) ?
                 (bits & 0x7fffff) << 1 :
                 (bits & 0x7fffff) | 0x800000;
 
この場合、浮動小数点値の結果は、数式 s·m·2e-150 の値と等しくなります。

パラメータ:
bits - 整数型
戻り値:
同じビットパターンを持つ float 浮動小数点値

compareTo

public int compareTo(Float anotherFloat)
2 つの Float オブジェクトを数値的に比較します。このメソッドによる比較は、Java 言語の数値比較演算子 (<, <=, ==, >= >) をプリミティブ float 値に適用した場合とは次の 2 つの点で異なります。 これにより、このメソッドにその動作を転送する Float.compareTo(Object)Comparable.compareTo の一般的な規約に従い、Float に対する自然順序付けが「equals との一貫性を保持」します。

パラメータ:
anotherFloat - 比較対象の Float
戻り値:
anotherFloat がこの Float と同じ数値の場合は値 0。この FloatanotherFloat より小さい数値の場合は 0 より小さい値。この FloatanotherFloat より大きい数値の場合は 0 より大きい値
導入されたバージョン:
1.2
関連項目:
Comparable.compareTo(Object)

compareTo

public int compareTo(Object o)
この Float オブジェクトをほかのオブジェクトと比較します。オブジェクトが Float の場合、この関数の動作は compareTo(Float) と同じになります。そうでない場合は、ClassCastException がスローされます。これは、Float オブジェクトの比較は Float オブジェクト同士でしか行えないためです。

定義:
インタフェース Comparable 内の compareTo
パラメータ:
o - 比較対象の Object
戻り値:
引数がこの Float と等しい数値の場合は値 0。引数がこの Float より大きい数値の Float の場合は 0 より小さい値。引数がこの Float より小さい数値の Float の場合は 0 より大きい値
例外:
ClassCastException - 引数が Float ではない場合
導入されたバージョン:
1.2
関連項目:
Comparable

compare

public static int compare(float f1,
                          float f2)
指定された 2 つの float 値を比較します。返される整数値の符号は、次の呼び出しで返される整数の符号と同じになります。
    new Float(f1).compareTo(new Float(f2))
 

パラメータ:
f1 - 比較する最初の float
f2 - 比較する 2 番目の float
戻り値:
f1 の値が f2 と等しい場合は値 0f1 の値が f2 より小さい場合は 0 より小さい値、f1 の値が f2 より大きい場合は 0 より大きい値
導入されたバージョン:
1.4

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.