Java で long を double に変換する

Mohammad Irfan 2023年10月12日
  1. Java での暗黙的なキャストを使用して longdouble に変換する
  2. Java で明示的なキャストを使用して longdouble に変換する
  3. Java の doubleValue() メソッドを使用して longdouble に変換する
  4. Java で longBitsToDouble() メソッドを使用して longdouble に変換する
  5. Java で longBitsToDouble() メソッドを使用して longdouble に変換する
Java で long を double に変換する

このチュートリアルでは、Java で long 型を double 型に変換する方法を紹介します。

Java では、long と double の両方が数値の格納に使用されます。long は非浮動小数点値を格納するために使用され、double は浮動小数点値を格納するために使用されます。どちらも、データをメモリに格納するために同じバイト数(16 バイト)を使用します。

この記事では、doubleValue()longBitsToDouble()parseDouble() メソッドなどのメソッドを使用して、long 型の値を double 型に変換する方法を学習します。いくつかの例から始めましょう。

Java での暗黙的なキャストを使用して longdouble に変換する

この例では、long 型の値を double 型に変換しています。どちらも同じバイトを使用するため、変換は簡単に実装され、double 値は long 値の後に浮動小数点を追加します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    long l = 97;
    System.out.println("long value: " + l);
    double d = l;
    System.out.println("double value: " + d);
  }
}

出力:

long value: 97
double value: 97.0

Java で明示的なキャストを使用して longdouble に変換する

コードを改善するために、長い変換から二重変換に明示的なキャストを使用する必要はありませんが、明示的なキャストを使用できます。以下の例を参照してください。上記の例と同じ結果が得られます。

public class SimpleTesting {
  public static void main(String[] args) {
    long l = 97;
    System.out.println("long value: " + l);
    double d = (double) l;
    System.out.println("double value: " + d);
  }
}

出力:

long value: 97
double value: 97.0

Java の doubleValue() メソッドを使用して longdouble に変換する

long オブジェクトがある場合は、Long クラスの doubleValue() メソッドを使用するだけで、double 型の値を取得できます。このメソッドは引数を取りませんが、long 値を変換した後に double を返します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    Long l = new Long(97);
    System.out.println("long value: " + l);
    double d = l.doubleValue();
    System.out.println("double value: " + d);
  }
}

出力:

long value: 97
double value: 97.0

Java で longBitsToDouble() メソッドを使用して longdouble に変換する

longBitsToDouble() メソッドを使用して、long 型から double 値を取得することもできます。これは静的メソッドであり、Double クラスに属しています。このメソッドは、実際にはバイナリレベルの変換を行います。したがって、読み取り可能な形式で結果を取得するには、doubleToRawLongBits() メソッドを使用します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    long l = 97;
    System.out.println("long value: " + l);
    double d = Double.longBitsToDouble(l);
    System.out.println("double value: " + d);
    System.out.println(Double.doubleToRawLongBits(d));
  }
}

出力:

long value: 97
double value: 4.8E-322
97

Java で longBitsToDouble() メソッドを使用して longdouble に変換する

parseDouble() メソッドは、文字列型の long オブジェクト値を取り、double 値を返します。これは Double クラスの静的メソッドであり、文字列引数にのみ使用できます。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    Long l = new Long(97);
    System.out.println("long value: " + l);
    double d = Double.parseDouble(l + "");
    System.out.println("double value: " + d);
  }
}

出力:

long value: 97
double value: 97.0

関連記事 - Java Long

関連記事 - Java Double