이중 값이 있습니다. 타입 변환없이 긴 변수에 저장할 수 있습니까?> 가능합니까?타입 캐스팅없이 long 값으로 double 값을 저장할 수 있습니까?
답변
명시 적 타입 캐스팅 없이는 long 변수에 값을 할당 할 수 없습니다. 타입 캐스팅없이 시도하는 경우 "정밀도 오류 손실"이 있습니다.
'Double.valueOf (double) .longValueOf()'?? –
@ Nishanth 언급 한대로 시도했지만 언급 한 기능을 실행하는 동안 오류가 발생합니다. 클래스 테스트 { \t 공공 정적 무효 메인 (문자열 []에 args) { \t \t 길이 L = Double.valueOf (56.78) .longValueOf(); \t \t System.out.println (l); \t} } 오류 - 관리자 - 맥북 - 프로 : 자바하기 Sandeep $ javac의 Test.java Test.java:3 : 오류 : 기호를 \t \t 길이 L = Double.valueOf (56.78)를 찾을 수 없습니다. longValueOf(); \t \t^ 기호 : 방법 longValueOf() 위치 : Double 클래스 –
를 사용하여 적절한 인용에 주석/응답하면서 SO –
당신이 시도 할 수 있습니다 :
double d = 123.0;
long l = Double.doubleToLongBits(d);
d = Double.longBitsToDouble(l);
System.out.println(d);
이 긴 더블의 이진 표현을 저장합니다.
long l = Double.valueOf(123.0).longValue();
당신이 그것을 시도주지 않았다
는 (절단 가능) 실제 값을 저장하려면? –