为什么Double和Float 都有NaN,Int却好像没有?

我有个数据是这样的

{
    "_double": 2.333,
    "_float":3.14159,
    "_int":314,
}

我会对应的把_double转成double(不是用Double接受)类型依此类推。
但是服务器给的数据有时候会是这样

{
    "_double":null,
    "_float":null,
    "_int":null,
}

我要对这个数字作出不同的处理,因为默认值0.0和这种为null 是两种情况需要做不同处理。所以不能直接设置为默认值。
因为DoubleFloat会有Double.NaNFloat.NaN我可以默认设置这样接收,但是int对应的类型并没有。

阅读 5.9k
1 个回答

因为 NaN 是浮点数,在 IEEE754 规范定义的。

不过从你的描述看来,你错误的使用了 NaN 和 JSON。

JSON 的类型:

JSON 的 number:

推荐问题