为什么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.8k
1 个回答

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

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

JSON 的类型:

JSON 的 number:

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题