如何检查inf?Swift xcode7

11

在Swift中,如何检查计算结果是否为无限大?

我的代码打印出"dividepointsbyrest是inf"后崩溃了。 "if dividepointsbyrest != nil" 可以检查是否为nil。但是 'if dividepointsbyrest != inf' 是行不通的。

var dividepointsbyrest = (BPMpoints / restDouble)
    print("dividepointsbyrest is") 
    print(dividepointsbyrest) 

    var BPMpercentD = 100.0 * dividepointsbyrest

1
如果restDouble不等于0 { ... },也许你还可以防止除以零。 - holex
好主意,谢谢。其余部分Double不是零,但我正在尝试防止除法返回inf-我认为问题在于它试图除以更大的数字。正在检查,我认为BPMpoints为零。将尝试。 - Dimitri T
你是对的,restDouble是零。很好发现。所以那段代码会有帮助。 - Dimitri T
1个回答

29

Double具有isInfinite/isFinite属性。

if dividepointsbyrest.isInfinite {
    print("dividepointsbyrest is infinite")
}
或者
if dividepointsbyrest.isFinite {
    print("dividepointsbyrest is finite")
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接