fug*_*ama -5 java double divide-by-zero
我想保持我的代码干净,避免不必要的IF分支.
向除数中加入一个非常小的数字不是为了处理除零除外是一个好习惯吗?以下代码是否被视为良好做法?
我知道这种比较在这种情况下不是纯粹100%准确,但让我们没关系.
double safeDivision(double dividend, double divisor)
{
return (dividend + Double.MIN_VALUE)/(divisor + Double.MIN_VALUE);
}
Run Code Online (Sandbox Code Playgroud)
Luk*_*der 16
为什么在上下文中担心这个double?
System.out.println( 1.0 / 0.0);
System.out.println( 0.0 / 0.0);
System.out.println(-1.0 / 0.0);
Run Code Online (Sandbox Code Playgroud)
产量
无限
NaN
-Infinity
毕竟,这是正确的结果,对吧?引入不准确只会以完全不同的意外方式咬你.不要这样做.
| 归档时间: |
|
| 查看次数: |
1058 次 |
| 最近记录: |