double类型的数字,竟然会不是数字的存在。

大师兄

如上的debug截图。

头一次知道,double类型的数字还可以这样的。

然后你在下面这个对double进行格式化的时候,就报异常了。

大师兄

知道这个单词的意思:无穷 a point far away that can never be reached

因为double里面没有完完全全的正儿八经的0,你看到的0,实际上可能是0.0000000000000...1,n个0之后忽然出来个1,那么就相当于除以一个最小的数,那么得到的值就会无穷大。然后无穷就是这么来的。

一个是无穷大,那个NaN就无穷小咯。

怎么处理这个bug,那就是使用我代码里面那个注释的那个方法,对这个特殊值,判断一下。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!