HOWTO · Java

Java에서 Long을 Double로 변환

이 기사에서는 Java에서 long 값을 double 값으로 변환하는 방법을 소개합니다.

이 페이지의 내용

이 튜토리얼에서는 Java에서 long 유형을 double 유형으로 변환하는 방법을 소개합니다.

Java에서 long 및 double은 모두 숫자 값을 저장하는 데 사용됩니다. long은 부동 소수점이 아닌 값을 저장하는 데 사용되는 반면 double은 부동 소수점 값을 저장하는 데 사용됩니다. 둘 다 메모리에 데이터를 저장하는 데 동일한 수의 바이트(16바이트)를 사용합니다.

이 기사에서는 doubleValue(), longBitsToDouble(), parseDouble() 메소드와 같은 일부 메소드를 사용하여 long 유형 값을 double 유형으로 변환하는 방법을 배웁니다. 몇 가지 예부터 살펴보겠습니다.

Java에서 암시적 캐스팅을 사용하여 Long을 Double로 변환

이 예에서는 long 유형 값을 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에서 명시적 캐스팅을 사용하여 Long을 Double로 변환

더 나은 코드를 위해 long to double 변환을 위해 명시적 캐스팅을 사용할 필요는 없지만 명시적 캐스팅을 사용할 수 있습니다. 아래 예를 참조하십시오. 위의 예에서 얻은 것과 동일한 결과를 얻습니다.

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() 메서드를 사용하여 Long을 Double로 변환

긴 개체가 있는 경우 Long 클래스의 doubleValue() 메서드를 사용하여 이중 유형 값을 얻을 수 있습니다. 이 메서드는 인수를 사용하지 않지만 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() 메서드를 사용하여 Long을 Double로 변환

longBitsToDouble() 메소드를 사용하여 long 유형에서 이중 값을 얻을 수도 있습니다. 이것은 정적 메서드이며 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() 메서드를 사용하여 Long을 Double로 변환

parseDouble() 메서드는 문자열 형식의 long 객체 값을 가져와서 이중 값을 반환합니다. 이것은 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