如何验证分数

Cod*_*A_D -2 validation objective-c ios

我正在尝试编写一个函数,如果给定的字符串是有效的小数格式,则返回布尔值.

例如,分数如下2/3,1/3,3/5,80/20,60 1/4等.

-(BOOL)validateFraction:(NSString *)string
{
  if(string is valid fraction)
    return YES;
  else 
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

Vla*_*mir 6

您可以使用正则表达式:

-(BOOL)validateFraction:(NSString *)string{
    NSString *fractionRegex = @"\\d+(/\\d+)?";
    NSPredicate *fractionTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", fractionRegex];
    return [fractionTest evaluateWithObject:string];
}
Run Code Online (Sandbox Code Playgroud)

PS也不是,该函数不验证除零,并且不允许分数在前面有符号(+或 - )