double SampleInterval = (PopulationValue - valueOfSignItems) / (SampleSize - noOfSignItems);
如果我的除数= 0,则sampleInterval将为bcom无穷大,如果被除数和除数均为= 0,则它将为= NaN
我需要在SampleInterval =无穷大时执行我的代码,在SampleInterval = NaN时在另一个上下文中执行。 怎么可能.. ?? 任何人都可以告诉我如何将无效值与无穷大或NaN进行比较。
答案 0 :(得分:6)
您必须使用Double.IsInfinity()和Double.IsNaN()方法。
if (Double.IsInfinity(SampleInterval))
{
//TODO
}
if (Double.IsNaN(SampleInterval))
{
//TODO
}
不要直接与Double.NaN比较,它总是会返回false。
答案 1 :(得分:0)
提升旧主题以添加其他解决方案(不是很好看,但如果不为-oo工作仍值得尝试)
您可以自己生成-Infinity double,并将其用作比较
double minusInfinity = -1.0/0.0;
if (yourDouble==minusInfinity ) {
// yourDouble is equal to -oo
}
else {
// yourDouble is not equal to -oo
}
您可以使用比较对+ oo或NaN执行相同的操作:
double nan = 0.0/0.0;
double infinity = 1.0/0.0;