2016-08-02 6 views
-3
let apliekamasumma = Double(brutoalga! - socnoalgas - summaapg - 75) 

if (apliekamasumma < 0) { 
    let apliekamasumma = 0 
} 

このコードで私を助けてください。条件を使用すると、最初の貴重な値が0より大きい場合、結果はゼロになる必要がありますか?

+1

あなたを:

let apliekamasumma = [Double(brutoalga! - socnoalgas - summaapg - 75), 0].minElement()! 

またはデビッド・ベリーによって示唆されているように

最初の行に 'apliekamasumma'を既に宣言しています。その値を変更できるようにするには、代わりに変数を使用します。それを後で再宣言しないでください。 [Swiftマニュアル](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309)の第1章をお読みください。 、 "基本"、それは非常によく書かれています。 – Moritz

答えて

2

あなたは計算値と0を持つ2つの要素の配列をconstrucctすることができ、その後、使用minElement

let apliekamasumma = min(Double(brutoalga! - socnoalgas - summaapg - 75), 0) 
+0

2回目の読書で、あなたの質問はあなたのコードと一致しません。あなたのタイトルには "上記の場合はゼロ"と書かれていますが、あなたのコードでは "もしあればゼロ"と表示されます。あなたが望むものを得るために、 'minElement()'と 'maxElement()'で遊んでください。 –

+2

本当にしようとしているものに応じて 'min(Double(brutoalga! - socnoalgas - summaapg - 75)、0)'または 'max(...)'を使用する方がよいでしょう。 2つの要素だけでは、実際には 'minElement'の複雑さを必要としません。 –

+0

@DavidBerryはsugesstionに感謝し、これらの単純な関数を忘れてしまいました –

0
var apliekamasumma = Double(brutoalga! - socnoalgas - summaapg - 75) 

if apliekamasumma < 0 { 
    apliekamasumma = 0 
} 
1
func sum(brutoalga:Double, socnoalgas:Double, summaapg:Double) ->Double{ 

    var apliekamasumma = brutoalga - socnoalgas - summaapg - 75.0 

    if (apliekamasumma < 0) { 
     return 0.0 
    } 
    return apliekamasumma 
} 
関連する問題