Long
데이터 유형을 Double
또는 로 변환하는 방법이 double
있습니까?
예를 들어, 나는 변환 할 필요가 15552451L
A를 double
데이터 유형입니다.
답변
간단히 할 수 있습니다.
double d = (double)15552451L;
또는 Long 객체에서 다음과 같이 두 배를 얻을 수 있습니다.
Long l = new Long(15552451L);
double d = l.doubleValue();
답변
간단한 캐스팅?
double d = (double)15552451L;
답변
이미 언급했듯이 간단하게 long에서 double로 캐스팅 할 수 있습니다. 그러나 long에서 double 로의 변환 은 Java에서 축소 변환 이므로 주의하십시오 .
예 : 다음 프로그램은 0이 아닌 1을 인쇄합니다.
long number = 499999999000000001L;
double converted = (double) number;
System.out.println( number - (long) converted);
답변
바이너리 변환을 찾고 계십니까?
double result = Double.longBitsToDouble(15552451L);
이것은 리터럴 double
과 동일한 비트 패턴을 제공합니다 long
.
바이너리 또는 16 진수 리터럴이 여기에서 유용합니다. 여기 예시들이 있습니다.
double nan = Double.longBitsToDouble(0xfff0000000000001L);
double positiveInfinity = Double.longBitsToDouble(0x7ff0000000000000L);
double positiveInfinity = Double.longBitsToDouble(0xfff0000000000000L);
( Double.longBitsToDouble (long) 참조 )
당신은 또한 long
다시 얻을 수 있습니다
long bits = Double.doubleToRawLongBits(Double.NaN);
답변
Long i = 1000000;
String s = i + "";
Double d = Double.parseDouble(s);
Float f = Float.parseFloat(s);
이렇게하면 문자열 값을 Double 또는 Float 또는 Int로 쉽게 변환 할 수 있으므로 Long 유형을 Double 또는 Float 또는 Int로 문제없이 변환 할 수 있습니다.
답변
긴 날짜 유형 이란 무엇을 의미 합니까?
long을 double로 캐스팅 할 수 있습니다.
double d = (double) 15552451L;
답변
다음과 같이 시도 할 수 있습니다.
long x = somevalue;
double y = Double.longBitsToDouble(x);
