开发程序的时候遇到一个奇怪的问题。
从Wind取数据的时候,返回的是装好箱的double类型的数据。
由于Wind返回的数据存在null和NaN(对double来说)的情况,需要对数据进行清洗。
第一版程序的判断方式如下,
数据.ToString() == "NaN" //此处数据为object{double}
发现在有些机器下可以进行有效判断,有些机器下无法判断。
原因是
在有些机器中,数据.ToString()返回的是"非数字"而不是我以为的"NaN"!!! 所以判断无法成功。
正确的写法应该是,
Double.IsNaN((double)数据)