Finding out whether a string is numeric or not

前端 未结 18 1736
一个人的身影
一个人的身影 2020-12-07 15:24

How can we check if a string is made up of numbers only. I am taking out a substring from a string and want to check if it is a numeric substring or not.

NSS         


        
18条回答
  •  余生分开走
    2020-12-07 15:50

    An extension of @John Calsbeek's answer, and clarification of @Jeff and @gyratory circus's comments.

    + (BOOL)doesContainDigitsOnly:(NSString *)string
    {
        NSCharacterSet *nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    
        BOOL containsDigitsOnly = [string rangeOfCharacterFromSet:nonDigits].location == NSNotFound;
    
        return containsDigitsOnly;
    }
    
    + (BOOL)doesContainNonDigitsOnly:(NSString *)string
    {
        NSCharacterSet *digits = [NSCharacterSet decimalDigitCharacterSet];
    
        BOOL containsNonDigitsOnly = [string rangeOfCharacterFromSet:digits].location == NSNotFound;
    
        return containsNonDigitsOnly;
    }
    

    The following can be added as category methods for NSString

    - (BOOL)doesContainDigitsOnly
    {
        NSCharacterSet *nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    
        BOOL containsDigitsOnly = [self rangeOfCharacterFromSet:nonDigits].location == NSNotFound;
    
        return containsDigitsOnly;
    }
    
    - (BOOL)doesContainNonDigitsOnly
    {
        NSCharacterSet *digits = [NSCharacterSet decimalDigitCharacterSet];
    
        BOOL containsNonDigitsOnly = [self rangeOfCharacterFromSet:digits].location == NSNotFound;
    
        return containsNonDigitsOnly;
    }
    

提交回复
热议问题