source

Java에서 Long에서 Double로 변환

gigabyte 2022. 9. 18. 10:12
반응형

Java에서 Long에서 Double로 변환

변환하는 방법이 있습니까?Long데이터 유형 대상Double또는double?

예를 들어, 변환이 필요합니다.15552451L에 대해서doubledata type 입니다.

간단하게 할 수 있는 것은, 다음과 같습니다.

double d = (double)15552451L;

또는 Long 객체에서 다음과 같이 두 배로 얻을 수 있습니다.

Long l = new Long(15552451L);
double d = l.doubleValue();

간단한 캐스팅?

double d = (double)15552451L;

이미 언급했듯이, 여러분은 단순히 길게 두 배로 캐스팅할 수 있습니다.그러나 Java에서는 긴 변환에서 두 배 변환으로 좁혀지기 때문에 긴 변환에서 두 배 변환에 주의하십시오.

type double에서 type long으로 변환하려면 64비트 부동소수점 값에서64비트 정수 표현으로의 간단한 변환이 필요합니다.실제 런타임 값에 따라 정보가 손실될 수 있습니다.

예: 다음 프로그램은 0이 아닌 1을 인쇄합니다.

    long number = 499999999000000001L;
    double converted = (double) number;
    System.out.println( number - (long) converted);

바이너리 변환을 찾고 계십니까?

double result = Double.longBitsToDouble(15552451L);

이렇게 하면double제공된 것과 동일한 비트 패턴을 사용하여long.

2진수나 16진수 리터럴이 도움이 될 거야여기 몇 가지 예가 있어요.

double nan = Double.longBitsToDouble(0xfff0000000000001L);
double positiveInfinity = Double.longBitsToDouble(0x7ff0000000000000L);
double negativeInfinity = Double.longBitsToDouble(0xfff0000000000000L);

(Double.longBitsToDouble(long) 참조)

또, 그 유저희망하고 있는long로 되돌아가다.

long bits = Double.doubleToRawLongBits(Double.NaN);

(Double.doubleToRawLongBits(더블) 참조)

Long i = 1000000;
String s = i + "";
Double d = Double.parseDouble(s);
Float f = Float.parseFloat(s);

이렇게 하면 문자열 값을 Double, Float 또는 Int로 쉽게 변환할 수 있으므로 문제없이 Long type을 Double, Float 또는 Int로 변환할 수 있습니다.

긴 데이트 타입이 무슨 뜻이죠?

롱에서 더블로 캐스팅할 수 있습니다.

double d = (double) 15552451L;

다음과 같은 작업을 수행할 수 있습니다.

long x = somevalue;

double y = Double.longBitsToDouble(x);

당신에게 좋은 것 같아요.

BigDecimal.valueOf([LONG_VALUE]).doubleValue()

이 코드는 어떻습니까?:D

언급URL : https://stackoverflow.com/questions/3724830/conversion-from-long-to-double-in-java

반응형