정수 나누기를 부동 소수점 결과로 변환
특정 프로그래밍 시나리오에서는 정수 나누기에서 부동 소수점 결과를 얻는 것이 바람직할 수 있습니다. 다음 코드를 고려하세요.
class CalcV { float v; float calcV(int s, int t) { v = s / t; return v; } } public class PassObject { public static void main(String[] args) { int distance = 4; int t = 3; float outV; CalcV v = new CalcV(); outV = v.calcV(distance, t); System.out.println("velocity : " + outV); } }
이 코드에서 s와 t가 int 유형임에도 불구하고 나누기 연산 v = s / t는 int 결과를 생성합니다. 부동 소수점 결과를 얻으려면 피연산자 중 하나를 부동 소수점으로 강제 변환해야 합니다.
해결 방법은 나누기를 수행하기 전에 s 또는 t를 부동 소수점으로 캐스팅하는 것입니다.
v = (float)s / t;
캐스트는 나누기보다 우선순위가 높으므로 작업 전에 s가 부동소수점으로 변환됩니다. 이는 하나의 피연산자(t)가 정수로 유지되더라도 Java가 나눗셈을 부동 소수점 연산으로 처리하도록 효과적으로 강제합니다.
이 접근 방식을 따르면 원하는 대로 부동 소수점 결과 v를 얻을 수 있습니다.
위 내용은 Java의 정수 나누기에서 부동 소수점 결과를 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!