>Java >java지도 시간 >Java의 정수 나누기에서 부동 소수점 결과를 어떻게 얻을 수 있습니까?

Java의 정수 나누기에서 부동 소수점 결과를 어떻게 얻을 수 있습니까?

DDD
DDD원래의
2024-12-06 08:07:10530검색

How Can I Get a Floating-Point Result from Integer Division in Java?

정수 나누기를 부동 소수점 결과로 변환

특정 프로그래밍 시나리오에서는 정수 나누기에서 부동 소수점 결과를 얻는 것이 바람직할 수 있습니다. 다음 코드를 고려하세요.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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