>Java >java지도 시간 >Java의 정수 나누기가 부동 소수점 결과를 생성하도록 어떻게 보장할 수 있습니까?

Java의 정수 나누기가 부동 소수점 결과를 생성하도록 어떻게 보장할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-23 18:21:10657검색

How Can I Ensure Integer Division in Java Produces a Floating-Point Result?

정수 나누기 제한 극복

프로그래밍에서 두 개의 정수를 나누면 나머지가 잘려 다른 정수가 되는 경우가 많습니다. 이는 부동 소수점 결과가 필요할 때 불편해집니다. 두 정수를 나누면 실수가 생성되도록 코드를 수정하는 방법을 살펴보겠습니다.

원본 코드:

class CalcV {
  float v;
  float calcV(int s, int t) {
    v = s / t;
    return v;
  } //end calcV
}

public class PassObject {

  public static void main (String[] args ) {
    int distance;
    distance = 4;

    int t;
    t = 3;

    float outV;

    CalcV v = new CalcV();
    outV = v.calcV(distance, t);

    System.out.println("velocity : " + outV);
  } //end main
}//end class

해결책:

float 결과를 얻으려면 다음을 수행하기 전에 피연산자 중 하나를 float로 캐스팅하세요. Division:

v = (float)s / t;

캐스팅은 분할보다 우선순위가 높으므로 캐스트가 먼저 실행됩니다. 혼합 유형 연산으로 인해 부동 소수점 연산이 발생하므로 다른 피연산자는 컴파일러에 의해 자동으로 부동 소수점 연산으로 캐스팅됩니다.

업데이트된 코드:

class CalcV {
  float v;
  
  float calcV(int s, int t) {
    v = (float)s / t;
    return v;
  } //end calcV
}

위 내용은 Java의 정수 나누기가 부동 소수점 결과를 생성하도록 어떻게 보장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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