我有 2 个可为空的双精度值,一个期望值和一个实际值(我们称它们为 value 和 valueExpected)。使用 100 * (value / valueExpected) 找到百分比。但是,如果 valueExpected 为零,则返回 NaN。到目前为止一切都很好。
现在,如果我需要检查值,看看它是否为 NaN,我该怎么办?通常可以使用:
if (!Double.IsNaN(myDouble))
但这不适用于可为空的值(IsNaN 仅适用于不可为空的变量)。我已经更改了我的代码来进行检查(valueExpected == 0),但我仍然很好奇 - 有没有办法检查可为空的 NaN?
编辑:当我说代码不起作用时,我的意思是它不会编译。首先测试 null 不起作用。