Okapi Project

float 型(ふろーと がた)

バージョン
2003 年 07 月 05日 Ver.1.0
作成者
T.Hirata ( Xware )

目的

float 型の値をプログラムで保持したい。

float 型ってなに?

基本データ型の「浮動小数点型」に分類されるものの1つで、32bit の単精度浮動小数値を変数に格納します。

float 型の説明

float 型は浮動小数値を含むデータを扱います。

float 型のデータ型
データ型 サイズ 値の範囲
float 4byte

±1.4e-45〜±3.4028235e38 ※

※e-45 は 10 の -45 乗、e38 は 10 の 38 乗を表します。

無限小数のような実数は有限のbit 数で正確に値を表すことができないため、float 型でこのような値を保持する場合には 32bit の精度での近似値として表されます。

float 型では実数以外にも以下の特殊な値を扱うことができます。

特殊な浮動小数点値
意味 対応するリテラル
MAX_VALUE 表現可能な最大値 3.4028235e38 float a=3.4028235E38f
MIN_VALUE 表現可能な最小値 1.4e-45 float a=1.4e-45f
POSITIVE_INFINITY 正の無限大 Infinity float a=1/0f
NEGATIVE_INFINITY 負の無限大 -Infinity float a=-1/0f
NaN 非数(Not a Number) NaN float a=0/0f

特殊な浮動小数点値は標準の範囲外となる演算を行った場合に返されます。

float 型の使い方

データ型に float 型を指定し、変数名を宣言して使います。

 float 変数名 ( = 初期値 );
変数名
変数名を指定します。
初期値
変数の初期値を指定します。

Java ソース中での浮動小数点リテラルは double 型の値となるため、リテラル値で float 型の値を表したい場合には数字の後ろに " f "(または "F")を指定します。

float a = 0.1234e2f;

浮動小数点のリテラルには指数を意味する "e"(または "E")を使用することができます。

この場合、数字に続いて "e" を入力して、その後ろに最初の数字に乗じる 10 の累乗を指定します。

float a = 0.1234e2f;   // 0.1234×10^2 である 12.34 が格納される
float b = 10e-4f;      // 10×10^-4 である 0.0010 が格納される
float c = 5.6705e-6f;  // ステファン・ボルツマン定数 5.6705×10^6

ポイント

ヒント

特殊な浮動少数点値である NaN は NaN を含む他の値と直接比較を行うことができません。

float a = Float.NaN;  //NaN値の格納
if ( a == Float.NaN ){
    System.out.println("この値は非数(NaN)です。");
} else {
    System.out.println("この値は非数(NaN)ではありません。");
}

この処理結果は以下のようになります。

この値は非数(NaN)ではありません。

NaN は直接比較を行うことができず、この判定方法では常に false となり else のルートを通ります。

そのため、NaNの判定をおこなう場合は特別なメソッドを使って判定を行います。

float a = Float.NaN;  //NaN値の格納
if ( Float.isNaN( a ) ){
    System.out.println("この値は非数(NaN)です。");
} else {
    System.out.println("この値は非数(NaN)ではありません。");
}

この処理結果は以下のようになります。

この値は非数(NaN)です。

isNaN メソッドを使うことにより NaN を判定することができます。

関連


Copyright © 2003 - 2006 Okapi Project All Rights Reserved.