私はJavaで非常に単純な部門(1時間あたりの製品数量/生産)を持っていますが、この部門を作成するたびに奇妙なエラーが発生します。
float res = quantity / standard;
上記の除算をいくつかの値で試しましたが、常にエラーが発生しますが、他の場所で試してみて正しくなったのは次のとおりです。
世界のどこでも:
13.6 = 6800 / 500;
Java:
13.0 = 6800 / 500;
私はBigDecimalとBigIntegerを調査しましたが、これらを使用してこの除算を作成する方法が見つかりませんでした。Javaでこの除算を正確なエラーなしに行う方法は他にありますか?
どんな助けでも大歓迎です。
整数を除算しています。つまり、整数除算を使用しています。
整数除算では、結果の小数部分が破棄されます。
以下を試してください:
float res = (float) quantity / standard;
^^^^^^^
上記により、分子はとして扱われfloat
、分母も浮動になり、int除算の代わりにfloat除算が実行されます。
リテラルを扱っている場合は、
float f = 6800 / 500;
f
分母を浮動小数点にするための接尾辞を含めるには:
float f = 6800f / 500;
^
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加