web-dev-qa-db-fra.com

Convertir NSString en NSInteger?

Je veux convertir stringdata en NSInteger.

72
The deals dealer

Si la chaîne est une représentation lisible par un humain d'un nombre, vous pouvez le faire:

NSInteger myInt = [myString intValue];
138
Aurum Aquila

[myString intValue] retourne un cType "int"

[myString integerValue] renvoie un NSInteger.

Dans la plupart des cas, je trouve ces fonctions simples en consultant les références de classe Apple. Pour y arriver, le moyen le plus rapide est de cliquer sur le bouton [option] et de double-cliquer sur les déclarations de classe (dans ce cas, NSString).

72
EtienneSky

J'ai trouvé que c'était la bonne réponse.

NSInteger myInt = [someString integerValue];
22
pixelsize
NSNumber *tempVal2=[[[NSNumberFormatter alloc] init] numberFromString:@"your text here"];

renvoie NULL si chaîne ou renvoie NSNumber

NSInteger intValue=[tempVal2 integerValue];

renvoie un entier de NSNumber

7
user4993619

c'est plus sûr que integerValue:

-(NSInteger)integerFromString:(NSString *)string
{
    NSNumberFormatter *formatter=[[NSNumberFormatter alloc]init];
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle];
    NSNumber *numberObj = [formatter numberFromString:string];
    return [numberObj integerValue];
}
1
Enrico Cupellini
int myInt = [myString intValue];
NSLog(@"Display Int Value:%i",myInt);
1
Amit Singh