我正在为一个学校项目创建一个 RPN 计算器,但在使用模数运算符时遇到了问题。由于我们使用的是双精度数据类型,模数不适用于浮点数。例如,0.5 % 0.3 应该返回 0.2,但我得到除以零的异常。
该指令说使用 fmod()
。我到处寻找 fmod()
,包括 javadoc,但找不到。我开始认为这是我必须创建的一种方法?
编辑:嗯,奇怪。我只是再次插入这些数字,它似乎工作正常……但以防万一。使用浮动类型时是否需要注意在 Java 中使用 mod 运算符?我知道这样的事情不能用 C++ 完成(我认为)。
原文由 ShrimpCrackers 发布,翻译遵循 CC BY-SA 4.0 许可协议
第一次运行时,您可能有错别字。
评估
0.5 % 0.3
按预期返回“0.2”(双精度)。Mindprod 很好地概述了模数在 Java 中的工作原理。