이 코드가 0.0
으로 대답하는 이유는 무엇입니까?두 숫자를 나눌 때 예기치 않은 결과가 출력됩니다.
public static void main(String[] args) {
float ans = (480/1080);
System.out.println(ans);
}
이 코드가 0.0
으로 대답하는 이유는 무엇입니까?두 숫자를 나눌 때 예기치 않은 결과가 출력됩니다.
public static void main(String[] args) {
float ans = (480/1080);
System.out.println(ans);
}
결과는 정수가됩니다. 480/1000 < 1이므로 0으로 절단됩니다. 그 결과는 float 변수에 저장되도록 float로 변환됩니다.
float ans = ((float)480/1080);
또는'float ans = 480f/1080; - 숫자 리터럴에'f'를 추가하면 플로트로 표시됩니다. – khelwood
당신은 부동 소수점 값을 얻을 것이다, 그래서이 .. 여기에 두 숫자가 될 것입니다 플로트를 시도 ..
float ans = ((float)480/(float)1080);
System.out.println(ans);
:
이 수레로 숫자를 분할하려면 그들 중 하나를 던져 출력 :
(float)으로 캐스트해야합니다. – Fr0z3n7