我正在尝试编程计算器,当结果是偶数时,即整数时,显示应显示整数而不是deciaml格式。
对于许多情况,只需执行以下操作即可:
if(variable % 1 == 0)
...;
但是,对于三角函数,这不起作用。例如,当我计算arccos(0.5)时,它应该等于60度(如果我将其与度数一致)。
然而,当我计算它时:
double result = 180.0 * Math.Pi * Math.acos(0.5);
我得到像
这样的东西 result = 60.000000000001
因此%1的测试失败。我怎样才能最有效地完成这项工作?我是否必须设置与之比较的delta值?但是这个delta值必须非常小,因为我也希望能够以小的物理常数来计算,例如...... E-34。
答案 0 :(得分:0)
使用BigDecimal
并指定所需的精确度。