首页 > 移动平台 > 详细

iOS-nan or +inf 报错

时间:2021-04-15 15:29:52      阅读:35      评论:0      收藏:0      [点我收藏+]

nan or +inf报错

一、nan的意思是 not a number 不是数字

 nan一般是因为在float类型经过函数运行后,出现了不为数字的值主要常见原因有

  • 除以0  就是你的除数为0 (10/0) 或者 除数或者被除数为null (这两种情况在你做除法的时候可能不会出现错误,但是当你设置constant的时候就会出现问题)
  • sizeWithFont的字符串为nil
  • 数学函数不正确运算 如对负数开平方 (-1开方)

注意NaN或者+inf并不会直接导致崩溃,但是在后期运算中可能导致崩溃
常见的报错:‘NSLayoutConstraint constant is not finite! That‘s illegal. constant:nan firstAnchor

 

二、inf 意思是:infinity 无穷

inf一般是因为得到的数值,超出浮点数的表示范围(溢出,即阶码部分超过其能表示的最大值);
    

解决办法

  • 数学计算时,对分母进行判断 是否为0

  • 判断数据

if (isnan(a)) {
   NSLog(@"NaN");
}
if (isinf(b)) {
   NSLog(@"+inf");
}

 

iOS-nan or +inf 报错

原文:https://www.cnblogs.com/junhuawang/p/14662131.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!