>Java >java지도 시간 >Java의 정수 나누기가 0.0을 반환하는 이유는 무엇이며 부동 소수점 결과를 어떻게 얻을 수 있습니까?

Java의 정수 나누기가 0.0을 반환하는 이유는 무엇이며 부동 소수점 결과를 어떻게 얻을 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-08 21:07:10594검색

Why Does Integer Division in Java Return 0.0 and How Can I Get a Floating-Point Result?

Java에서 정수 나누기: 0.0을 반환하는 이유

제공된 예와 같이 Java에서 두 정수 사이의 나누기를 수행할 때 totalOptCount와 totalRespCount는 모두 정수이며, 결과는 자동으로 정수로 내림됩니다. 이는 나눗셈의 소수 부분이 삭제됨을 의미합니다. 결과적으로 부동 소수점으로 선언되었지만 나누기 결과로 초기화되는 백분율 변수는 항상 0.0이 됩니다.

부동 소수점 결과를 구하는 방법

부동 소수점 결과를 얻으려면 나누기의 피연산자 중 하나 이상을 부동 소수점 유형으로 캐스팅해야 합니다. 귀하의 경우 다음과 같이 totalOptCount를 float에 캐스팅할 수 있습니다.

float percentage = ((float) totalOptCount) / totalRespCount;

이렇게 하면 부동 소수점 연산으로 나누기가 수행되고 소수 부분이 결과에 보존됩니다.

백분율 형식 지정

백분율 변수 형식을 "00.00" 형식을 지정하고 이를 문자열로 변환하려면 String.format 메서드를 사용할 수 있습니다.

String str = String.format("%2.02f", percentage);

%2.02f 자리 표시자는 부동 소수점 값이 필드 너비 2로 형식화되어야 함을 지정합니다. 문자 및 소수점 이하 2자리의 정밀도. 그러면 백분율 형식이 "00.00"인 문자열이 생성됩니다.

위 내용은 Java의 정수 나누기가 0.0을 반환하는 이유는 무엇이며 부동 소수점 결과를 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.