Ich möchte überprüfen, ob eine bestimmte Double-Eingabe das folgende Format hat: "Die Zahl hat maximal eine Dezimalstelle". So wäre das, was in Ordnung ist, zum BeispielSicherstellen, dass der Eingang Double ein bestimmtes Format hat
100 //this is ok
100.3 //this is ok
100.3 //this is ok
1.333 //this is not ok
10.333 //this is not ok
Ich habe versucht, einen regulären Ausdruck verwenden, aber irgendwie funktioniert es nicht. Gibt es eine einfachere Lösung, die ich verwenden könnte?
ich verwendet habe, diesen Code
func validate(input: Double) -> Bool {
let regex = "^[1-9]*((\\.|,)[0-9]{1})?$"
let inputTest = NSPredicate(format: "SELF MATCHES %@", regex)
return inputTest.evaluate(with: String(input))
}
Also, welche regex funktionierte nicht wie erwartet? Wie hast du es benutzt? Bitte zeigen Sie den fehlgeschlagenen Code an. –
hat gerade die Frage bearbeitet! – Misha
Bedeutet das, dass führende Nullen nicht zulässig sind? Versuchen Sie 'let regex =" [1-9] \\ d * (?: [.,] \\ d)? "' –