zoukankan      html  css  js  c++  java
  • iOS-nan or +inf 报错

    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");
    }
  • 相关阅读:
    红黑树的修正过程
    配置文件elasticsearch.yml详解
    HEAD插件安装
    css reset.css
    vue-router之router-link
    vue2.0 代码功能片段
    vue2.0的常用功能简介
    electron 的中文文档的地址 以及 窗口改变的步骤
    ph 的使用步骤
    git 提交的步骤
  • 原文地址:https://www.cnblogs.com/junhuawang/p/14662131.html
Copyright © 2011-2022 走看看