【发布时间】:2016-12-23 11:59:01
【问题描述】:
我想保持我的代码干净并避免不必要的 IF 分支。
将一个非常小的数字添加到除数以不处理除零异常是一种好习惯吗?下面的代码被认为是一个好习惯吗?
我知道在这种情况下,这种比较并非完全 100% 准确,但没关系。
double safeDivision(double dividend, double divisor)
{
return (dividend + Double.MIN_VALUE)/(divisor + Double.MIN_VALUE);
}
【问题讨论】:
-
没有。试试
divisor = -Double.MIN_VALUE。 -
@ElliottFrisch 你为什么要否定它?
-
如果除数非常小,那么您甚至有数值溢出的风险。
-
@IvayloStrandjev 为什么调用者不能否定它?他们会用你的方法得到一个特别不准确的结果。
-
你们真的在讨论这个想法吗?!?为什么?最初的前提只是……哦,没关系。
标签: java double divide-by-zero