浮動小数点リテラル
日本語 | 浮動小数点定数値 |
英語 | 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」と同じである。
科学的な計算を行う際や、巨大な値が必要の際にはこちらを使用するといいだろう。
実数を表す定数値。
プログラムに「数字から始まり、小数点を含む単語」を書くと、この単語は浮動小数点リテラルと見なさる。
たとえば「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」と同じである。
科学的な計算を行う際や、巨大な値が必要の際にはこちらを使用するといいだろう。
参考サイト
- (参考サイトはありません)
// 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
}
}
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 } }