您的位置:首页 > 其它

孤独的NaN

2008-01-03 09:09 302 查看
很多高级语言中都有NaN的概念,用于表示其值不是数字的数字。例如,C#中的 float.NaN(Single.NaN)。它是单精度类型的,但是其值不是数字。 MSDN上备注如是:
此常数的值是零被零除所得到的结果。
当运算结果未定义时返回此常数。
使用 IsNaN 确定值是否为非数字。不可能通过将某个值与另一个等于 NaN 的值进行比较来确定该值是否不是数字。

虽然NaN的部分特点与正负无穷大类似,但它还是更另类的:其他的特殊数字与自己做比较,是相等的;但是NaN不仅不等于其他的数值,连自己也不相等。这点不明白CLR怎么处理来实现的,存储的数据又是什么。
综上,判断变量是不是数字,要用IsNaN这个方法,不要用判断式。若不是数字,IsNaN方法返回true;正负无穷大也是数字,会返回false。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: