Java での整数の除算
Java で 2 つの整数を除算すると、結果は浮動小数点数になります。これは、除算演算子 (/) が整数の除算を実行し、結果が整数の商になるためです。浮動小数点の結果を取得するには、一方または両方のオペランドを float や double などの浮動小数点型にキャストする必要があります。
次の例を考えてみましょう。
int totalOptCount = 500; int totalRespCount=1500; float percentage =(float)(totalOptCount/totalRespCount);
この場合、totalOptCount と totalRespCount は両方とも int 型です。式 totalOptCount/totalRespCount は整数 0 として評価され、それは浮動小数点数にキャストされてパーセンテージに割り当てられます。したがって、パーセンテージの値は 0.0 になります。
これを修正するには、除算演算の前にオペランドの 1 つを浮動小数点型にキャストする必要があります。
float percentage = ((float) totalOptCount) / totalRespCount;
totalOptCount を次のようにキャストします。 float の場合、除算演算は浮動小数点の結果を返し、パーセンテージは正しい値になります。
Result
結果を目的の 00.00 形式でフォーマットして文字列に変換するには、String.format メソッドを使用できます。
String str = String.format("%2.02f", percentage);
形式指定子 %2.02fは、数値が幅 2 のフィールド内で右寄せされ、小数点以下 2 桁の精度を持つ必要があることを示します。結果は文字列変数 str.
に代入されます。以上がJava で整数を除算するときに正確な浮動小数点の結果を得るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。