博客> IOS:费用控制处理小数点两位且满足支持千万数据的一个判定
IOS:费用控制处理小数点两位且满足支持千万数据的一个判定
2020-02-25 16:56 评论:0 阅读:1389 742724282
ios 金额判断

1、声明UITextField的属性UITextFieldDelegate applyPriceTfd.delegate=self;

2.判定方法实现

  • (BOOL)textField:(UITextField )textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString )string{

    NSCharacterSet cs; NSUInteger nDotLoc = [textField.text rangeOfString:@"."].location; if (NSNotFound != nDotLoc && [string isEqualToString:@"."]) { return NO; //不能输入多个小数点; } if (string.length == 0) { //删除; return YES; } if (NSNotFound == nDotLoc && 0 != range.location) { cs = [[NSCharacterSet characterSetWithCharactersInString:myNumbers]invertedSet]; if ([string isEqualToString:@"."]) { return YES; } if (textField.text.length>=8) { //小数点前面8位 return NO; } }else { cs = [[NSCharacterSet characterSetWithCharactersInString:myDotNumbers]invertedSet]; if (textField.text.length>=11) { return NO; } } NSString filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""]; BOOL basicTest = [string isEqualToString:filtered]; if (!basicTest) { return NO; } if (NSNotFound != nDotLoc && range.location > nDotLoc +2) {//小数点后面两位 return NO; } return YES; }

    注视:控制小数点前8位,支持两位小数的一个金额判定

收藏
0
sina weixin mail 回到顶部