我有一個允許用戶輸入數字的UITextField
iOS應用程序。我如何確保用戶輸入的值是有效數字(整數或十進制)。以下是我已經盡力了,但由於某種原因,它不會爲十進制數的工作:如果我輸入一個十進制數,如435.634,上面的代碼在控制檯日誌返回「無效號碼」檢查NSString是否爲有效數字 - 整數或十進制數字
NSCharacterSet *notDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
if ([numString rangeOfCharacterFromSet:notDigits].location == NSNotFound) {
NSLog(@"valid number");
}
else {
NSLog(@"invalid number");
}
。我不明白爲什麼這不起作用,因爲我正在使用decimalDigitCharacterSet
?
使用'NSNumberFormatter',以正確處理特定於區域的數字。 – rmaddy
'decimalDigitCharacterSet'集合包含數字,不包含任何標點符號。 – rmaddy
@Supertecnoboff - 另一種選擇是向用戶顯示數字鍵盤。不需要擔心其他事情 - https://www.cocoacontrols.com/search?q=numeric –