Convert NSString to NSInteger?

2020-01-27 01:53发布

问题:

I want to convert string data to NSInteger.

回答1:

If the string is a human readable representation of a number, you can do this:

NSInteger myInt = [myString intValue];


回答2:

[myString intValue] returns a cType "int"

[myString integerValue] returns a NSInteger.

In most cases I do find these simple functions by looking at apples class references, quickest way to get there is click [option] button and double-click on the class declarations (in this case NSString ).



回答3:

I've found this to be the proper answer.

NSInteger myInt = [someString integerValue];


回答4:

NSNumber *tempVal2=[[[NSNumberFormatter alloc] init] numberFromString:@"your text here"];

returns NULL if string or returns NSNumber

NSInteger intValue=[tempVal2 integerValue];

returns integer of NSNumber



回答5:

int myInt = [myString intValue];
NSLog(@"Display Int Value:%i",myInt);


回答6:

this is safer than integerValue:

-(NSInteger)integerFromString:(NSString *)string
{
    NSNumberFormatter *formatter=[[NSNumberFormatter alloc]init];
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle];
    NSNumber *numberObj = [formatter numberFromString:string];
    return [numberObj integerValue];
}


回答7:

NSString *string = [NSString stringWithFormat:@"%d", theinteger];