2015-08-07 22 views
35

Boooaaaaar !!! Umarım herkes bana yardım edebilir mi? Sonucu 2 ondalık basamağa nasıl dağıtabilirim ve sonuç etiketinde nasıl gösterebilirim? Bazı ifadeler buldum, ancak Swift’e yeni geldim ve projem için örnekleri yeniden inşa etmem gerçekten zor.2 ondalık basamaklı float değerini biçimlendirin

import UIKit 

class ViewController: UIViewController { 

    @IBOutlet var txt: UITextField! 

    @IBOutlet var l5: UILabel! 
    @IBOutlet var l10: UILabel! 
    @IBOutlet var l15: UILabel! 
    @IBOutlet var l20: UILabel! 
    @IBOutlet var l25: UILabel! 
    @IBOutlet var l30: UILabel! 
    @IBOutlet var l35: UILabel! 
    @IBOutlet var l40: UILabel! 

    @IBAction func Berechnen(sender: AnyObject) { 

     var Zahl = (txt.text as NSString).floatValue 

     l5.text = "\((Zahl/95) * (100))" 
     l10.text = "\((Zahl/90) * (100))" 
     l15.text = "\((Zahl/85) * (100))" 
     l20.text = "\((Zahl/80) * (100))" 
     l25.text = "\((Zahl/75) * (100))" 
     l30.text = "\((Zahl/70) * (100))" 
     l35.text = "\((Zahl/65) * (100))" 
     l40.text = "\((Zahl/60) * (100))" 
    } 

    func textFieldShouldReturn(textField: UITextField) -> Bool { 
     self.view.endEditing(true) 
     return false 
    } 

} 

cevap

77

Sen ondalık basamak keyfi bir sayıya yuvarlanacak string formatting specifiers standart kullanabilirsiniz.

let twoDecimalPlaces = String(format: "%.2f", 10.426123) 

Eğer l* etiketin her numarayı görüntülemek istediğiniz varsayarsak: Bütün earilier questions.thanks bkz

@IBAction func Berechnen(sender: AnyObject) { 

    var Zahl = (txt.text as NSString).floatValue 

    l5.text = String(format: "%.2f", (Zahl/95) * 100) 
    l10.text = String(format: "%.2f", (Zahl/90) * 100) 
    l15.text = String(format: "%.2f", (Zahl/85) * 100) 
    l20.text = String(format: "%.2f", (Zahl/80) * 100) 
    l25.text = String(format: "%.2f", (Zahl/75) * 100) 
    l30.text = String(format: "%.2f", (Zahl/70) * 100) 
    l35.text = String(format: "%.2f", (Zahl/65) * 100) 
    l40.text = String(format: "%.2f", (Zahl/60) * 100) 
} 
+0

Özellikle %.nfn size gereken ondalık basamak sayısıdır. ama nerede kodumu yerleştirmek zorunda olduğumu bilmiyorum .... – Andreas

+0

Etrafımda bir oyun olması her zaman bir şeyleri anlamaya yardımcı olur, cevabı güncellediğimi söylemiştim. –

+0

// Ne kadar ondalık Nokta istediğinizi belirterek daha fazla yardımcı olacaktır. let decimalPoint = 2 let floatAmount = 1.10001 let miktarValue = Dize (format: "% 0 * f", decimalPoint, floatAmount) –

İlgili konular