iOS输入数字大小及小数点后面几位限制

[UITextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];


//方法实现
- (void)textFieldDidChange:(UITextField *)textField
{

    //判断第一位是否为数字
    if ([textField.text isEqualToString: @"."]) {
        textField.text = @"";
    }
    
    //判断是否有两个小数点
    if (textField.text.length >= 2) {
        NSString *str = [textField.text substringToIndex:textField.text.length-1];
        NSString *strTwo = [textField.text substringFromIndex:textField.text.length-1];
        NSRange range = [str rangeOfString:@"."];
        if (range.location != NSNotFound && [strTwo isEqualToString:@"."]) {
            textField.text = [textField.text substringToIndex:textField.text.length-1];
        }
    }
    
    //小数点后面数字位数控制  (此时为小数点后一位,3改4就是两位    思路:取倒数第X个字符是否为小数点,是小数点的话,就不再允许输入)
    if (textField.text.length > 3) {
        NSString *myStr = [textField.text substringWithRange:NSMakeRange(textField.text.length-3 , 1)];
        if ([myStr isEqualToString:@"."]) {
            textField.text = [textField.text substringToIndex:textField.text.length-1];
        }
    }
    

    //最大值控制
    double doubleNum = [textField.text doubleValue];
    NSUInteger myNub = doubleNum;
    NSUInteger sum = 100.0;
    if (myNub > sum) {
        textField.text = [textField.text substringToIndex:textField.text.length-1];
    }
    
}

小白总结,欢迎打脸指正

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,716评论 25 708
  • 周末和一位98级临床医学师兄吃饭。 一帮学医学药的人在一起,免不了聊起当下国内的医患关系。一桌硕士博士长吁短叹之余...
    科丽客阅读 1,458评论 1 1
  • 让我站在岁月的交替之间,流着泪微笑吧。 让我把往日那对你的爱恋,细声再数一次。 ——题记 对于爱好文...
    秋_瞳阅读 1,223评论 0 1
  • 人生就像一场旅行,不必在乎目的地,在乎的是沿途的风景以及看风景的心情,让心灵去旅行! 3、8节我们游玩...
    燕语呢喃cyw阅读 217评论 0 0
  • 第四节 父亲归来】 “春梅,小梅,雨芹,快出来,我回来啦,快来帮把手,看我给你们带回来的什么好东西!”一大早正在屋...
    冬日暖扬阅读 628评论 5 6

友情链接更多精彩内容