자바에서 int 정수값 = 10; int 결과 = 정수값 * 0.1; 이 컴파일 될까요? 안 된다면 왜? 11.09.19 17:00
심심해요
12 개의 댓글이 있습니다.
double 결과 로..하면 되나욤..?
키친 결과는 정수여야 하는 걸로 하죠. ^^
컴파일 되지 않나요 -_-? 정수값*0.1한 값의 버림한 값이 결과값에 저장되지 않나합니다.
안될것 같은 느낌인데요...
int result = a*(int)0.1; 이거 하니까 0.1->0이 되서 fail..ㅠ,.ㅠ
Bengi 될 것 같죠? 근데 안 됩니다. 왜 안 될까요? ㅎㅎ
爀헉군 네. 안 됩니다. 그런데 왜 그럴까요?
키친 그렇게 하면 안 되죠. ^^
Bengi 爀헉군 키친 반대로 double 결과 = 정수값 * 2; 은 됩니다. ^^
fupfin 음 역시... * 0.1을 했기 때문에 실수값인거고, 실수값을 정수형 변수를 초기화(라고해냐하나요. 음...) 할 때 넣을 수 없다는 건가요?
Bengi 네. 왜 넣을 수 없느냐는 거죠. 자바가 강한 타입 확인을 하는 언어라서 그렇다면 정수를 실수에 넣을 땐 왜 오류가 안 나고?
fupfin 값(데이터)의 손실이 없기 때문에 그런건가요?
double 결과 로..하면 되나욤..?
11.09.19 17:02키친 결과는 정수여야 하는 걸로 하죠. ^^
11.09.19 17:04컴파일 되지 않나요 -_-? 정수값*0.1한 값의 버림한 값이 결과값에 저장되지 않나합니다.
11.09.19 17:07안될것 같은 느낌인데요...
11.09.19 17:18int result = a*(int)0.1; 이거 하니까 0.1->0이 되서 fail..ㅠ,.ㅠ
11.09.19 17:38Bengi 될 것 같죠? 근데 안 됩니다. 왜 안 될까요? ㅎㅎ
11.09.20 09:13爀헉군 네. 안 됩니다. 그런데 왜 그럴까요?
11.09.20 09:13키친 그렇게 하면 안 되죠. ^^
11.09.20 09:13Bengi 爀헉군 키친 반대로 double 결과 = 정수값 * 2; 은 됩니다. ^^
11.09.20 09:14fupfin 음 역시... * 0.1을 했기 때문에 실수값인거고, 실수값을 정수형 변수를 초기화(라고해냐하나요. 음...) 할 때 넣을 수 없다는 건가요?
11.09.20 09:51Bengi 네. 왜 넣을 수 없느냐는 거죠. 자바가 강한 타입 확인을 하는 언어라서 그렇다면 정수를 실수에 넣을 땐 왜 오류가 안 나고?
11.09.20 09:57fupfin 값(데이터)의 손실이 없기 때문에 그런건가요?
11.09.20 10:07