为什么整数除法码给出错误的答案?

朱利安(Julian C.):

我在Java中有一个非常简单的部门(这是每小时的产品数量/产量),但是每当进行此部门时,我都会遇到奇怪的错误:

float res = quantity / standard;

我已经用多个值尝试了上述除法,但总是会出错,但是我在其他地方尝试并获得正确的方法是:

世界各地:

13.6 = 6800 / 500;

Java:

13.0 = 6800 / 500;

我已经研究了BigDecimal和BigInteger,但是我还没有找到一种用它们创建这种划分的方法,还有其他方法可以在Java中进行这种划分而不会产生精度错误吗?

任何帮助将不胜感激。

aioobe:

您正在对整数进行除法,这意味着您正在使用整数除法

在整数除法中,结果的小数部分将被丢弃。

请尝试以下操作:

float res = (float) quantity / standard;
            ^^^^^^^

上面的方法将分子视为a float,这反过来又促使分母也浮动,并且执行了除法运算,而不是整数除法。

请注意,如果要处理文字,则可以更改

float f = 6800 / 500;

包括f使分母成为浮点数后缀:

float f = 6800f / 500;
              ^

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么Python 3.4对于大数除法给出错误的答案,我如何测试可除性?

为什么covariance2()给出错误的答案?

为什么 JAVA 程序给出错误答案?

为什么我得到错误的除法答案?

浮点除法与整数除法给出不同的答案

为什么web3.eth.getBlock给出空答案,而getTransactionReceipt给出错误?

在Python 3.5中,当除以偶数时,为什么除法和底除法给出不同的答案

为什么正则表达式组提取给出错误的答案?

为什么此反转计数合并排序算法给出错误的答案

为什么 round() 使我的表达式给出错误答案?

为什么在笛卡尔坐标和球形坐标之间转换时,此python代码为什么给出错误的答案?

DateFormat给出错误的答案

加入给出错误答案

查询给出错误答案

什么可能导致我的代码给出错误答案?

为什么geoshere给出错误的距离?

为什么“ const extern”给出错误?

为什么'->'(12,b)给出错误?

为什么MomentJS给出错误的结果

为什么同步块给出了错误的答案?

为什么我的成本函数给出了错误的答案?

逻辑错误-给出错误的答案

为什么这段代码给我分段,?当我们只打印 count 时它给出答案,当打印 ans[4] 或任何值时它给出错误?

为什么在编译为字节码时整数除法没有得到优化?

numpy.dot为大整数给出错误答案

C# 乘法给出错误答案

布尔人支票给出错误答案

素数程序给出错误答案

NCalc Evaluate()给出错误的答案