美文网首页
swift除以0问题

swift除以0问题

作者: Fsn_soul | 来源:发表于2020-10-30 17:21 被阅读0次

    看代码

    func test_int_div_zero(_ x: Int) -> Int {
        let rt = 1 / x
        return rt //1/0 = 崩溃
    }
    
    func test_positive_double_div_zero(_ x: Int) -> Double {
        let rt = 1.0 / Double(x)
        return rt //1.0/0 = inf,表示infinity,正无穷大
    }
    
    func test_negative_double_div_zero(_ x: Int) -> Double {
        let rt = -1.0 / Double(x)
        return rt //-1.0/0 = -inf,表示负无穷大
    }
    
    func test_zero_double_div_zero(_ x: Int) -> Double {
        let rt = -0.0 / Double(x)
        return rt //-0.0/0 或 -0/0 = nan,表示not a number
    }
    

    结论:

    1. 整数除以0会崩溃。
    2. 浮点数除以0不会崩溃。结果可能为inf,-inf,或nan。

    但是为了程序的健壮性,除法操作,除数最好进行非法参数校验。

    相关文章

      网友评论

          本文标题:swift除以0问题

          本文链接:https://www.haomeiwen.com/subject/fnbdvktx.html