1.只能輸入數(shù)字和小數(shù)點(diǎn)
2.小數(shù)點(diǎn)前只能有一個(gè)0
3.小數(shù)點(diǎn)后兩位
// MARK: -- 鍵盤(pán)代理
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ([string isEqualToString:@""]) { // 刪除操作
if ([textField.text isEqualToString:@"0"]) {
textField.text = @"";
}
}
// 輸入小數(shù)點(diǎn)補(bǔ)0
if ([textField.text isEqualToString:@""] && [@"." isEqualToString:string]) {
textField.text = @"0.";
}
if ([textField.text isEqualToString:string] && [@"0" isEqualToString:string]) { // 前兩位不能為00
return NO;
}else{ // 可以是小數(shù)點(diǎn)且只能是小數(shù)點(diǎn)
if (![textField.text isEqualToString:@"0"] || [string isEqualToString:@"."]) {
NSInteger dotLocation = [textField.text rangeOfString:@"."].location;
if (dotLocation != NSNotFound){
if ([string isEqualToString:@"."]){
return NO;
}
}
//判斷小數(shù)點(diǎn)后最多兩位
if (dotLocation != NSNotFound && range.location > dotLocation + 2) {
return NO;
}
}else{
return NO;
}
}
return YES;
}