IOS判断字符串是不是纯数字的方法总结

时间:2022-09-20 09:48:03

前言

在大家开发项目的时候,遇到需求可能是让我们只输入一段纯数字,这时候我们就要对这个字符串进行筛选判断,不符合纯数字进行提示操作,以求达到最好的交互效果也能满足需求。

下面介绍几种判断字符串是否为纯数字的方法

第一种方式是使用NSScanner:

1. 整形判断

?
1
2
3
4
5
- (BOOL)isPureInt:(NSString *)string{
NSScanner* scan = [NSScanner scannerWithString:string];
int val;
return [scan scanInt:&val] && [scan isAtEnd];
}

2.浮点形判断:

?
1
2
3
4
5
- (BOOL)isPureFloat:(NSString *)string{
NSScanner* scan = [NSScanner scannerWithString:string];
float val;
return [scan scanFloat:&val] && [scan isAtEnd];
}

第二种方式是使用循环判断

?
1
2
3
4
5
6
7
8
9
10
11
12
- (BOOL)isPureNumandCharacters:(NSString *)text
{
  for(int i = 0; i < [text length]; ++i) {
    int a = [text characterAtIndex:i];
    if ([self isNum:a]){
      continue;
    } else {
      return NO;
    }
  }
  return YES;
}

或者 C语言中常用的方式.

?
1
2
3
4
5
6
7
8
9
10
- (BOOL)isAllNum:(NSString *)string{
  unichar c;
  for (int i=0; i<string.length; i++) {
    c=[string characterAtIndex:i];
    if (!isdigit(c)) {
      return NO;
    }
  }
  return YES;
}

第三种方式则是使用NSString的trimming方法

?
1
2
3
4
5
6
7
8
9
- (BOOL)isPureNumandCharacters:(NSString *)string
{
string = [string stringByTrimmingCharactersInSet;[NSCharacterSet decimalDigitCharacterSet]];
if(string.length > 0)
{
   return NO;
}
return YES;
}

总结

以上就是为大家总结的三种能够帮助实现判断字符串是否为数字的函数,iOS中没有直接判断是否是数字的方法,所以只能够自己添加方法去实现了.希望这篇文章总结的几种方法能够帮助到大家,如果有疑问可以留言交流。