iOS中UITextField輸入判斷小數點後兩位

在輸入金額的UITextField中,要給予三個規則的判斷 
1. 只能輸入數字(能夠經過設置鍵盤類型爲Decimal Pad) 
2. 小數點只能有一個 
3. 小數點後最多有兩位數字 (能夠經過正則表達式或者長度判斷)正則表達式

2. 3. 的代碼 (首先引入UITextFieldDelegate,指定代理爲本身)ui

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (textField == self.tfWithdrawalAmount) { //若是輸入的是「.」 判斷以前已經有"."或者字符串爲空 if ([string isEqualToString:@"."] && ([textField.text rangeOfString:@"."].location != NSNotFound || [textField.text isEqualToString:@""])) { return NO; } //拼出輸入完成的str,判斷str的長度大於等於「.」的位置+4,則返回false,這次插入string失敗 ("379132.424",長度10,"."的位置6, 10>=6+4) NSMutableString *str = [[NSMutableString alloc] initWithString:textField.text]; [str insertString:string atIndex:range.location]; if (str.length >= [str rangeOfString:@"."].location+4){ return NO; } } return YES; }
相關文章
相關標籤/搜索