Swift--运算结果出现nan

2019-02-27  本文已影响1人  乐逍遥的笔记
今天在运行一段相除运算代码的时候,出现了运算结果为nan的问题。顾名思义,nan就是Not a Number的缩写,表明运算的结果不是number(数字)类型的。
运算中出现nan的原因自己总结为以下几种:
1.小数的除法运算中,分母为0。
2.对负数进行开平方根运算。
3.其他数学函数的不正确运算,例如0乘以一个无穷大的数。
        let a = 0.0 / 0.0
        let b = sqrt(-1.0)
        let c = 0.0 * Double.infinity
        RYQLog(a)
        RYQLog(b)
        RYQLog(c)


所在控制器:BubbleSortVC.swift;  行数:(22);  方法名:viewDidLoad();  打印结果:
nan
所在控制器:BubbleSortVC.swift;  行数:(23);  方法名:viewDidLoad();  打印结果:
nan
所在控制器:BubbleSortVC.swift;  行数:(24);  方法名:viewDidLoad();  打印结果:
nan
运算结果出现nan的处理:
一般运算结果中出现nan,需要我们做一个判断,防止再做其他运算的时候报错。
OC中用isnan(X)来判断。
Swift中使用X.isNaN来判断。
上一篇 下一篇

猜你喜欢

热点阅读