判斷字符串是否是純數字的方法總結


 

判斷字符串是否是純數字的方法總結

//第一種方式是使用NSScanner:
//1. 整形判斷
- (BOOL)isPureInt:(NSString *)string{
  NSScanner* scan = [NSScanner scannerWithString:string];
  int val;
  return [scan scanInt:&val] && [scan isAtEnd];
}

//2.浮點形判斷:
- (BOOL)isPureFloat:(NSString *)string{
  NSScanner* scan = [NSScanner scannerWithString:string];
  float val;
  return [scan scanFloat:&val] && [scan isAtEnd];
}

//(利用1. 整形判斷 2.浮點形判斷 )判斷是否是純數字
 +(BOOL)stringIsNumbers:(NSString *)string{

  if( ![Tools isPureInt:string] && ![Tools isPureFloat:string])
  {

  return NO;

  }else {

  return YES;
  }

}

//第二種方式是使用循環判斷
- (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語言中常用的方式.
- (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方法
- (BOOL)isPureNumandCharacters:(NSString *)string
{
  string = [string stringByTrimmingCharactersInSet;[NSCharacterSet decimalDigitCharacterSet]];
  if(string.length > 0)
  {
  return NO;
  }
  return YES;
}

//用正則表達式判斷
- (BOOL) deptNumInputShouldNumber:(NSString *)str
{
  NSString *regex = @"[0-9]*";
  NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
  if ([pred evaluateWithObject:str]) {
  return YES;
  }
  return NO;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM