Ich versuche, eine Anwendung, die die Eingabe von zwei UITextFields erhalten, multipliziert sie und gibt das Produkt in einem dritten UITextField zurück.Locale mit NSNumberFormatter in iOS und Swift erhalten
import UIKit
class ParallelogramSurfaceArea: UIViewController {
@IBOutlet weak var sideA: UITextField!
@IBOutlet weak var height: UITextField!
@IBOutlet weak var surfaceArea: UITextField!
@IBAction func calculate(sender: AnyObject) {
let aText = (sideA.text! as NSString).doubleValue
let hText = (height.text! as NSString).doubleValue
let a = round(10000 * aText)/10000
let h = round(10000 * hText)/10000
let sa = round(10000*(a * h))/10000
sideA.text = "Side A = \(a) m"
height.text = "Height = \(h) m"
surfaceArea.text = "Surface Area = \(sa) m²"
}
Das Problem ist, dass auf dem Dezimaltrennzeichen das ',' anstelle des '.' aufgrund der Gebietsschemaeinstellungen, die zu einem Fehler in der Berechnung führen. Wie kann ich das mit NSNumberFormatter beheben? Irgendwelche Vorschläge zur Verbesserung der class ParallelogramSurfaceArea
?
Aktualisieren Sie Ihre Frage mit Ihrem Versuch 'NSNumberFormatter' zu verwenden. – rmaddy