Long데이터 유형을 Double또는 로 변환하는 방법이 double있습니까?
예를 들어, 나는 변환 할 필요가 15552451LA를 double데이터 유형입니다.
답변:
간단히 할 수 있습니다.
double d = (double)15552451L;
또는 Long 객체에서 다음과 같이 두 배를 얻을 수 있습니다.
Long l = new Long(15552451L);
double d = l.doubleValue();
new할 수없는 이와 같은 경우 (사용 ).
double d = 15552451L;
간단한 캐스팅?
double d = (double)15552451L;
15552451d
이미 언급했듯이 간단하게 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으로 double도 그가 어떤 대답을 받아 않았다 (I 캐스팅 자바를 사용할 때 배우는 최초의 것들 중 하나라고 생각합니다). 아마도 그는 값 double과 동일한 비트 패턴을 갖고 싶어 할 것 long입니다. 글쎄, 모르겠다. 그래서 그냥 대답을했습니다.
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.valueOf(15552451L).doubleValue()당신이를 통해 가고 싶은 경우를Long. 이것은double자동 / 언 박싱을 수행한다는 점을 제외하고는 에서 캐스트와 내부적으로 동일 합니다.