Java で Double を Float に変換する

Rupam Yadav 2023年10月12日
  1. Java で TypeCasting を使用して Double を Float に変換する
  2. Java で Double.floatValue() を使用して Double を Float に変換する
Java で Double を Float に変換する

このチュートリアルでは、Java で double 値を float にキャストする方法を学習します。Double 型と float 型は、Java で実数または浮動小数点数を格納するために使用されますが、double データ型は float よりも正確です。浮動小数点数のデフォルトのデータ型は double であることに注意してください。

Java で TypeCasting を使用して Double を Float に変換する

浮動小数点型を定義するには、接尾辞 f または F を使用する必要がありますが、double の場合は接尾辞 d または D を使用することはオプションです。float のデフォルト値は 0.0f ですが、double のデフォルト値は 0.0d です。デフォルトでは、Java では浮動小数点数は double として扱われます。

TypeCasting は、あるプリミティブデータ型の値を別の型に割り当てるプロセスです。double は float よりも大きなデータ型であることがわかっているため、ダウンキャストする必要があります。関数 doublefloat に型キャストするには、10 進値の前に括弧で囲まれた float キーワードを指定する必要があります。

double データ型は、倍精度の数値を格納するためにより多くのメモリを必要とし、出力でより正確であることがわかります。対照的に、float データ型は、単精度数値を格納するために必要なスペースが少なく、小数点以下 6 桁までフォーマットされた結果を提供します。したがって、ダブル d をフロート f に明示的にタイプキャストしました。

public class JavaDoubleToFloat {
  public static void main(String args[]) {
    double d1 = 1.0;
    double d2 = 3.0;
    double d = d1 / d2;
    System.out.println("double d : " + d);

    float f = (float) d;
    System.out.println("float f : " + f);
  }
}

出力:

double d : 0.3333333333333333
float f : 0.33333334

Java で Double.floatValue() を使用して Double を Float に変換する

Java で double 値を float データ型に変換する別の方法は、ラッパークラス Double を使用することです。このクラスは、プリミティブデータ型 double をオブジェクトにラップします。

ここでは、新しい double オブジェクト db を作成し、new キーワードを使用してコンストラクターで double 変数 d を渡します。これは、プリミティブな二重引数を表します。プリミティブ変換を絞り込んだ後、double データ型の値を float として返すメソッド floatValue() を使用しました。

Narrow Primitive Conversion を使用すると、大きなデータ型を小さなデータ型に格納しようとしているため、情報と精度が失われる可能性があることがわかります。出力では、double が float に変換され、精度が低くなっていることがわかります。

public class JavaDoubleToFloat {
  public static void main(String args[]) {
    double d1 = 1.0;
    double d2 = 3.0;
    double d = d1 / d2;
    System.out.println("double d : " + d);

    Double db = new Double(d);
    float f1 = db.floatValue();
    System.out.println("float f1 : " + f1);
  }
}

出力:

double d : 0.3333333333333333
float f1 : 0.33333334
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java Double

関連記事 - Java Float