ホームページ >Java >&#&チュートリアル >Java の整数除算で確実に浮動小数点の結果が生成されるようにするにはどうすればよいですか?

Java の整数除算で確実に浮動小数点の結果が生成されるようにするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-23 18:21:10652ブラウズ

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

整数の除算の制限を克服する

プログラミングでは、2 つの整数を除算すると別の整数が得られ、余りが切り捨てられることがよくあります。これは、浮動小数点の結果が必要な場合に不便になります。 2 つの整数の除算で浮動小数点が生成されるようにコードを変更する方法を見てみましょう。

元のコード:

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

解決策:

浮動小数点の結果を取得するには、オペランドの 1 つを浮動小数点にキャストしてから、 Division:

v = (float)s / t;

キャストは除算よりも優先され、キャストが最初に実行されることが保証されます。混合型演算では浮動小数点演算が行われるため、もう 1 つのオペランドはコンパイラによって自動的に float にキャストされます。

更新されたコード:

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

以上がJava の整数除算で確実に浮動小数点の結果が生成されるようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。