我想写出一组概率。事实证明,在某些情况下,我最终除以零,这导致NaN的概率。例如,如果“成功”和“试用”是Arraylists,那么
float prob = (success.size()*1f)/(trial.size());
System.out.println(prob);
如果“trial.size()”为0,将返回“NaN”。在这种情况下,我希望prob等于0,而不是“NaN”。零可以是整数,字符串,我不在乎。
有关如何完成此任务的任何建议?
由于
答案 0 :(得分:2)
只需检查NaN并将其设置为0.这有什么难的?检查NaN的一种简单方法是将数字与自身进行比较,但使用isNaN可能更清晰。
float prob = (success.size()*1f)/(trial.size());
prob = (prob == prob) ? prob : 0.0f;
System.out.println(prob);
答案 1 :(得分:1)
检查一下。避免被零除。
float prob = 0;
if( trial.size() > 0 ) prob = (float) success.size() / trial.size();
答案 2 :(得分:1)
trialSize = trial.size();
float prob = 0;
if (trialSize != 0){
prob = (success.size()*1f)/(trialSize);
}
System.out.println(prob);
答案 3 :(得分:-1)
也许你使用if语句
if result == NaN
return 0
end