瞎扯淡 Oj.dump 一个 NaN 会出现 PI

lithium4010 · 发布于 2016年12月01日 · 最后由 quakewang 回复于 2016年12月01日 · 296 次阅读
8744

发现一个有趣的现象


# ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin14]
# oj (2.18.0)

2.3.0 :006 > Oj.dump({a: (0 / 0.to_f)})
=> "{\":a\":3.3e14159265358979323846}"

共收到 1 条回复
162
quakewang · #1 · 2016年12月01日 2 个赞

用超过上限的数字来表示NaN,保证dump回来的数据能正常显示NaN?哈哈哈哈

https://github.com/ohler55/oj/blob/cecfe196af51e8fc964cd6d9751e50724f1cb8bf/ext/oj/oj.h#L73

#define INF_VAL     "3.0e14159265358979323846"
#define NINF_VAL    "-3.0e14159265358979323846"
#define NAN_VAL     "3.3e14159265358979323846"
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册