J'ai du mal à convertir une chaîne en entier. Je l'ai googlé, mais tout ce que je peux trouver, c'est comment convertir un int en une chaîne. Est-ce que quelqu'un sait comment faire l'inverse? Merci.
Réponses:
Consultez la référence de classe NSString .
NSString *string = @"5";
int value = [string intValue];
Que diriez-vous
[@"7" intValue];
De plus, si vous voulez un, NSNumber
vous pouvez le faire
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromString
semble être une méthode d' instance plutôt qu'une méthode de classe , vous devriez donc le faire à la [[NSNumberFormatter new] numberFromString:@"7"];
place.
[[[NSNumberFormatter alloc] init] numberFromString:@"7"];
selon stackoverflow.com/questions/719877/…
J'utilise:
NSInteger stringToInt(NSString *string) {
return [string integerValue];
}
Et vice versa:
NSString* intToString(NSInteger integer) {
return [NSString stringWithFormat:@"%d", integer];
}
unrecognized selector
parce que vous n'enverrez @selector(intToString:)
pas réellement @selector(intToString)
. Cela devrait sûrement être comme ça à la place - (NSInteger) stringToInt:(NSString *)string;
et- (NSString *)intToString:(NSInteger)integer;
NSString *
, comme l'a dit @David.
Swift 3.0:
Int("5")
ou
let stringToConvert = "5"
Int(stringToConvert)
Je devais faire quelque chose comme ça mais je voulais utiliser un getter / setter pour le mien. En particulier, je voulais revenir un long d'un champ de texte. Les autres réponses ont toutes bien fonctionné aussi, j'ai juste fini par adapter un peu la mienne au fur et à mesure que mon projet scolaire évoluait.
long ms = [self.textfield.text longLongValue];
return ms;
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Encore une autre façon: si vous travaillez avec une chaîne C, par exemple const char *, C native atoi()
est plus pratique.
Pour convertir un numéro de chaîne en un Int , vous devez faire ceci:
let stringNumber = "5"
let number = Int(stringNumber)