Format valeur flottante avec 2 décimales [dupliquer]
Cette question a déjà une réponse ici:
Boooaaaaar !!! Espérons que tout le monde peut-il m'aider? Comment puis-je arrondir le résultat à 2 décimales et l'afficher sur l'étiquette du résultat? J'ai trouvé quelques déclarations, mais je suis nouveau pour Swift et il est en fait difficile pour moi de reconstruire les échantillons pour mon projet.
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
}
}
40
demandé sur
Steve Wilford
2015-08-07 13:52:02
1 réponses
Vous pouvez utiliser les spécificateurs de formatage de chaîne standard pour arrondir à un nombre arbitraire de décimales. Spécifiquement %.nf
où n
est le nombre de décimales dont vous avez besoin:
let twoDecimalPlaces = String(format: "%.2f", 10.426123)
En supposant que vous voulez afficher le numéro sur chacune des étiquettes 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)
}
88
répondu
Steve Wilford
2015-08-08 08:15:37