美文网首页iOS学习笔记
iOS 下只能输入浮点数以及限制浮点数的位数

iOS 下只能输入浮点数以及限制浮点数的位数

作者: ZYiDa | 来源:发表于2018-05-22 10:51 被阅读17次

代码如下:

#pragma mark -- 按照要求判断经纬度,不能为整数,小数位数不能大于6
*
 * string 输入的数字字符串
 * limit  小数位数限制
 */
- (BOOL)judgeNumberWithString:(NSString *)string andFloatScanLimit:(int)limit{
    NSScanner *scan = [NSScanner scannerWithString:string];
    int val;
    BOOL isInt = [scan scanInt:&val] && [scan isAtEnd];
    if (isInt) {
        return NO;
    }
    
    NSString *pre = [NSString stringWithFormat:@"^[0-9]+(\\.[0-9]{1,%d})?$",limit <= 0 ? 1:limit];
    NSPredicate *numPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pre];
    BOOL isGreatThanSixNumber = [numPre evaluateWithObject:string];
    return isGreatThanSixNumber?YES:NO;
}

这个需求来源于:项目中要输入经纬度,经纬度的值只能为浮点数且小数后的位数控制在1-6
上面代码中,第一部分判断是不是整数,如果是直接返回 NO,不是则继续下一步。
第二部分用来判断浮点数的位数,@"^[0-9]+(\\.[0-9]{1,6})?$"中的{1,6}表示浮点数小数后的位数最少1位最多只能有6位。

由此延伸出来的应用范围,比如金额输入以及其它数字输入内容限制。

相关文章

  • iOS 下只能输入浮点数以及限制浮点数的位数

    代码如下: 这个需求来源于:项目中要输入经纬度,经纬度的值只能为浮点数且小数后的位数控制在1-6位。上面代码中,第...

  • numpy必知必会-第五天

    21 限制numpy array中的浮点数位数 例如:输入array([[0.11680849, 0.11692...

  • 6-0. 混合类型数据格式化输入

    本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。 输入格...

  • python基础

    一、字符类型 1、浮点数float(1)打印指定位数的浮点数print("%.xf" % num):其中,x表示要...

  • 课堂知识小结——python数据类型

    Python数据类型 整数:int; 浮点数:float 最大的特点是不限制大小 浮点数受到17位有效数字的限制 ...

  • 关于iOS 键盘输入限制1.(只能输入字母,数字) 2.(只能输

    关于iOS 键盘输入限制(只能输入字母,数字) 关于iOS 键盘输入限制(只能输入汉字,字母,数字)

  • 基本类型:数值之浮点数类型

    浮点数类型 操作与整数类似 浮点数受到17位有效数字的限制 IEEE的国际标准来限定浮点数有效数字,不像pytho...

  • 浮点数

    浮点数是《码出高效》第一章第二节一个内容,系统介绍了浮点数的计数方法,浮点数运算等内容以及浮点数误差的原因以及应对...

  • Python基础

    数据类型 整数 Python的整数没有大小限制 浮点数 Python的浮点数也没有大小限制,但是超出一定范围就直接...

  • 学习日记 | 菜鸟在xcode中学习c/c++

    ——1.11更新—— 【浮点数输出】 Q1:输入只有一行,一个浮点数。保证数据合法,不存在整数位的前导零以及小数位...

网友评论

    本文标题:iOS 下只能输入浮点数以及限制浮点数的位数

    本文链接:https://www.haomeiwen.com/subject/tkxqjftx.html