0
我一直在嘗試編寫一個函數來驗證給定的Double是否是1-100之間的數字。而且只有整數,所以像1.5這樣的東西是不允許的。允許將是1,2,3,...,100。我使用下面的正則表達式 - >使用Regex檢查Double值是否爲特定格式
"^([1-9][0-9]?$)|^100$"
但是,即使我輸入100,我的功能永遠不會讓我回到真實。我的正則表達式在哪個方面是錯誤的?
這是我的代碼的其餘
func validate(input: Double) -> Bool {
let regex = "^([1-9][0-9]?$)|^100$"
let inputTest = NSPredicate(format: "SELF MATCHES %@", regex)
return inputTest.evaluate(with: String(input))
}
輸入必須是一個雙。
爲什麼你使用正則表達式和謂詞呢?將字符串轉換爲「Double」。如果成功,請檢查「Double」的值。 – rmaddy
順便說一句 - 爲什麼「雙」?聽起來像你只需要整數。 '3.14'是1和100之間的雙倍。 – rmaddy
並闡明'input'是什麼。 – rmaddy