Ich habe ein Stück Code für meinen Taschenrechner.Runden Dezimalstellen auf eine benutzerdefinierte Anzahl von Stellen
Und es gibt einen Stepper in den Einstellungen.
Wie kann ich es so machen, dass, wenn der Benutzer einen Stepper auf 2 drückt, die Antwort im Rechner auf 2 Zahlen nach dem Komma gerundet wird?
Jetzt gibt es eine Rundung bis zu 9 Zahlen nach dem Komma.
displayResultLabel.text = String(format: "%.9f", newValue)
MainViewController.swift
var currentInput: Double {
get {
return Double (displayResultLabel.text!)!
}
set {
let value = "\(newValue)"
let ValueArray = (value.components(separatedBy:"."))
if ValueArray[1] == "0" {
displayResultLabel.text = "\(ValueArray[0])"
} else {
displayResultLabel.text = String(format: "%.9f", newValue)
//displayResultLabel.text = "\(newValue)"
}
stillTyping = false
}
}
SettingsViewController.swift
@IBOutlet weak var Stepr1: UIStepper!
@IBAction func stepperValueChanged(sender: UIStepper) {
//let am = NSNumber(value: sender.value)
let formatter = NumberFormatter()
formatter.numberStyle = .currency
UserDefaults.standard.set(sender.value, forKey: Savings)
//stepperValueChanged(sender: Stepr1)
MAXLabel.text = Int(sender.value).description
let userDefaults = UserDefaults.standard
userDefaults.setValue(MAXLabel.text, forKey: "data")
userDefaults.synchronize()
}
override func viewDidLoad() {
super.viewDidLoad()
// Save value
if let Savings = UserDefaults.standard.value(forKey: Savings) {
Stepr1.value = Savings as! Double
stepperValueChanged(sender: Stepr1)
}
}
Multiplizieren Sie es mit 100, verwenden Sie Boden oder Runde und dividieren Sie durch 100 wieder –
Wenn Sie nur die Beschreibung abgerundet möchten können Sie NumberFormatter verwenden und den gewünschten Rundenmodus einstellen –
@LeoDabus Wie kann ich das tun? Ich verstehe nicht wirklich in diesem – B2Fq