Подтвердить что ты не робот

Формат плавающего значения с 2 знаками после запятой

Boooaaaaar!!! Надеюсь, все могут мне помочь? Как я могу округлить результат до 2 десятичных знаков и показать его на метке результата? Я нашел некоторые заявления, но я новичок в Swift, и мне действительно сложно перестроить образцы для моего проекта.

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
    }

}
4b9b3361

Ответ 1

Вы можете использовать стандартные спецификаторы форматирования строк для округления до произвольного количества десятичных знаков. В частности %.nf, где n - количество требуемых десятичных знаков:

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

Предполагая, что вы хотите отобразить номер на каждой из l* меток:

@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)
}