Swift浮点数的特殊值inf、nan
Swift浮点数的特殊值inf、nan

Swift浮点数的特殊值inf、nan

在很多语言里都有,包括 Swift、Python、JavaScript 等。Inf、-inf和nan等属于浮点数(Double / Float)里的特殊值,是为了解决一些数学运算中的“异常情况”而存在的。

1、inf(Infinity,正无穷)

    表示值大到无穷,比如除以0的正数、溢出运算等等。

    let a = 1.0 / 0.0  // a 是 inf

    2、-inf(Negative Infinity,负无穷)

    表示值小到负无穷。

    let b = -1.0 / 0.0  // b 是 -inf

    3、nan(Not a Number)

    表示不是一个合法的数字,这个数是“数学上没有意义的结果”。

    let c = 0.0 / 0.0  // c 是 nan

    4、isFinite

    检查是否是有限的普通数值。

    5.0.isFinite    // true

    5、isInfinite

    检查是否是无限大或无限小。

    Double.infinity // true

    6、isNaN

    检查是否为Nan。

    Double.nan.isNaN    // true

    在实际的运算中,常常需要考虑被除数是否为0等情况,可以在运算过程中添加判断:

    if value.isFinite {
        // 安全使用
    } else {
        print("值是 inf、-inf 或 nan,跳过")
    }

    以解决inf、nan等情况。

    相关文章

    SwiftUI Text显示inf问题:https://fangjunyu.com/2025/04/19/swiftui-text%e6%98%be%e7%a4%bainf%e9%97%ae%e9%a2%98/

    如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注