【发布时间】:2021-11-18 15:39:03
【问题描述】:
我想为双变量 num 创建一个 setter,但我只想在输入是 0.5 的倍数时更新它。
这就是我所拥有的,但我担心浮点错误。
public void setNum(double num) {
if (num % 0.5 == 0.0) {
this.num = num;
}
}
我假设对于某些实际上是 0.5 倍数的输入,它可能返回一些 0.0000003 或 0.49999997,因此不是 0.0。
我能做些什么来解决这个问题?或者在这种情况下这不是问题吗?
【问题讨论】:
-
不是取模算子,是余数算子,任何浮点算子都服从浮点数的规则。
-
@user207421 感谢您指出这一点!我已经编辑了问题标题