JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 浮動小数点リテラルとは

浮動小数点リテラル

日本語 浮動小数点定数値
英語 floating-point literal
ふりがな ふどうしょうすうてんりてらる
フリガナ フドウショウスウテンリテラル

解説

リテラルのひとつ。
実数を表す定数値。
 
プログラムに「数字から始まり、小数点を含む単語」を書くと、この単語は浮動小数点リテラルと見なさる。
たとえば「double d = 4.5;」とプログラムに書いた場合、「4.5」が浮動小数点リテラルである。
浮動小数点リテラルは、実時に「書いた値のdouble定数値」となる。この値をdouble変数代入したり、double引数に渡したりすることができる。

浮動小数点リテラルは、実時にdouble浮動小数点として処理される。
記述した浮動小数点リテラルが「浮動小数点として正確に表現できない値」である場合、書いた実数値から少しずれた値となる。
たとえば「double d = 4.1;」という場合、「4.1」という値は浮動小数点では正確に表現できないため、丸め誤差が生じ、プログラム時には「4.1の近似値」となる。

このように、見た目上は切りのいい数字でも、内部的には丸め誤差が生じている場合があるため注意。
正確な値を必要とする場合には、BigDecimalクラスに「文字列リテラル」として渡すことをお勧めする。
 
浮動小数点リテラルは、そのままだとdoubleになる。
また、末尾に「D」「d」を付けることでもdoubleとなる。
また、末尾に「F」「f」を付けるとfloatとなる。
このように、浮動小数点リテラルは何も付けないとdoubleと見なされるため、float変数に格納しようとするとコンパイルエラーとなる。その場合には末尾に「F」もしくは「f」を付けること。
 
浮動小数点リテラルは、「1E2」のように、「E」を用いた常用対数eによる表現をうことができる。
末尾に「E」もしくは「e」を付け、その後ろに整数値を記述することで、その整数値の「10の乗数」を掛けることができる。たとえば「1E2」は「100.0」と同じである。
科学的な計算をう際や、巨大な値が必要の際にはこちらを使用するといいだろう。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 「数字から始まる、小数点を含む単語」は
        // 浮動小数点リテラルとなります。

        // これが浮動小数点リテラルです。
        //         ↓
        double d = 4.5;
        System.out.println( d );
        // 4.5

        // この、プログラム上に書いた「4.5」という数字が、
        // 実行時に「4.5」という定数値となって処理されます。
        // この例だと、変数dに「4.5」が格納されます。

        // 浮動小数点リテラルは、プログラム上では
        // 「切りのいい値」に見えますが、内部的には
        // 浮動小数点として扱われるため、丸め誤差が生じます。
        System.out.println( 4.1 + 8.2 );
        // 12.299999999999999

        // 浮動小数点リテラルに「D」「d」を付けるか何も付けないと
        // double型とみなされます。そのため、そのままfloat型
        // 変数に格納することはできません。
        // ※コンパイルエラーの例
        // float f = 4.5;
        // float f = 4.5D;
        // float f = 4.5d;
        // ※エラーメッセージ
        // 型の不一致: double から float には変換できません。
        // ※コンパイルエラーの例ここまで

        // この場合は末尾に「F」を付けます。
        // 浮動小数点リテラルに「F」か「f」を付けると、
        // float型とみなされます。
        float f = 4.5F;
        System.out.println( f );
        // 4.5

        // 常用対数eまたはEを使用することもできます。
        // 1E2であれば、1 * 10の2乗になります。
        System.out.println( 1E2 );
        // 100.0
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 「数字から始まる、小数点を含む単語」は
        // 浮動小数点リテラルとなります。

        // これが浮動小数点リテラルです。
        //         ↓
        double d = 4.5;
        System.out.println( d );
        // 4.5

        // この、プログラム上に書いた「4.5」という数字が、
        // 実行時に「4.5」という定数値となって処理されます。
        // この例だと、変数dに「4.5」が格納されます。

        // 浮動小数点リテラルは、プログラム上では
        // 「切りのいい値」に見えますが、内部的には
        // 浮動小数点として扱われるため、丸め誤差が生じます。
        System.out.println( 4.1 + 8.2 );
        // 12.299999999999999

        // 浮動小数点リテラルに「D」「d」を付けるか何も付けないと
        // double型とみなされます。そのため、そのままfloat型
        // 変数に格納することはできません。
        // ※コンパイルエラーの例
        // float f = 4.5;
        // float f = 4.5D;
        // float f = 4.5d;
        // ※エラーメッセージ
        // 型の不一致: double から float には変換できません。
        // ※コンパイルエラーの例ここまで

        // この場合は末尾に「F」を付けます。
        // 浮動小数点リテラルに「F」か「f」を付けると、
        // float型とみなされます。
        float f = 4.5F;
        System.out.println( f );
        // 4.5

        // 常用対数eまたはEを使用することもできます。
        // 1E2であれば、1 * 10の2乗になります。
        System.out.println( 1E2 );
        // 100.0
    }
}

この単語を含むページ

「みだし」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2010/04/15
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。