ホームページ > Java > &#&チュートリアル > Java で整数を除算するときに正確な浮動小数点の結果を得るにはどうすればよいですか?

Java で整数を除算するときに正確な浮動小数点の結果を得るにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-06 00:50:14
オリジナル
560 人が閲覧しました

How Can I Get Accurate Floating-Point Results When Dividing Integers in Java?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート