2016-11-01 3 views
3

計算の結果が無限でない場合、Swiftをどのようにチェックインするのですか?infをチェックするには? Swift xcode7

「dividepointsbyrestが infです」という印刷後に、以下のコードがクラッシュしています。 "if dividepointsbyrest!= nil"はnilをチェックします。 'dividepointsbyrest!= inf'が機能しない場合

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

    var BPMpercentD = 100.0 * dividepointsbyrest 
+1

'' restDouble!= 0 {...}であれば、おそらくあなたもゼロで割る__prevent__ことができます。 – holex

+0

良いアイデア、ありがとう。 restDoubleはゼロではありませんが、私は除算がinfを返さないようにしようとしています。問題はそれがより大きな数で分割しようとしていると思います。私はBPMポイントがゼロだと思っています。それを試してみます –

+0

あなたは正しいです、restDoubleはゼロでした。良い点。そのコードが役立つように –

答えて

10

DoubleはそのためisInfinite/isFinite特性を有します。

if dividepointsbyrest.isInfinite { 
    print("dividepointsbyrest is infinite") 
} 

または

if dividepointsbyrest.isFinite { 
    print("dividepointsbyrest is finite") 
} 
関連する問題