2015-08-07 18 views
35

Boooaaaaar !!! Hy vọng mọi người có thể giúp tôi? Làm thế nào tôi có thể làm tròn kết quả đến 2 chữ số thập phân và hiển thị nó trên nhãn kết quả? Tôi tìm thấy một số phát biểu, nhưng tôi mới sử dụng Swift và thật sự rất khó để tôi xây dựng lại các mẫu cho dự án của mình.Định dạng giá trị float với 2 chữ số thập phân

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 
    } 

} 

Trả lời

77

Bạn có thể sử dụng tiêu chuẩn string formatting specifiers để làm tròn số tùy ý số thập phân. Cụ thể %.nf nơi n là số chữ số thập phân bạn cần:

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

Giả sử bạn muốn hiển thị số trên mỗi l* nhãn:

@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

Tôi thấy tất cả các questions.thanks earilier. nhưng tôi không biết nơi tôi phải đặt nó trong mã của tôi .... – Andreas

+0

Có một trò chơi xung quanh luôn luôn giúp tôi tìm ra mọi thứ, có nói rằng tôi đã cập nhật câu trả lời. –

+0

// Nó sẽ giúp đỡ nhiều hơn, bằng cách xác định bao nhiêu điểm thập phân bạn muốn. let decimalPoint = 2 let floatAmount = 1.10001 let amountValue = String (định dạng: "% 0. * f", decimalPoint, floatAmount) –

Các vấn đề liên quan