Ho problemi a convertire una stringa in un numero intero. L'ho cercato su Google ma tutto quello che riesco a trovare è come convertire un int in una stringa. Qualcuno sa come fare il contrario? Grazie.
Risposte:
Vedere il riferimento alla classe NSString .
NSString *string = @"5";
int value = [string intValue];
Che ne dite di
[@"7" intValue];
Inoltre, se lo desideri, NSNumberpotresti farlo
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromStringsembra essere un metodo di istanza piuttosto che di classe , quindi dovresti farlo [[NSNumberFormatter new] numberFromString:@"7"];invece.
[[[NSNumberFormatter alloc] init] numberFromString:@"7"];come per stackoverflow.com/questions/719877/...
Io uso:
NSInteger stringToInt(NSString *string) {
return [string integerValue];
}
E viceversa:
NSString* intToString(NSInteger integer) {
return [NSString stringWithFormat:@"%d", integer];
}
unrecognized selectorperché in realtà @selector(intToString:)non invierai @selector(intToString). Sicuramente dovrebbe essere così invece - (NSInteger) stringToInt:(NSString *)string;e- (NSString *)intToString:(NSInteger)integer;
NSString *però, come ha detto @David.
Swift 3.0:
Int("5")
o
let stringToConvert = "5"
Int(stringToConvert)
Ho dovuto fare qualcosa del genere, ma volevo usare un getter / setter per il mio. In particolare volevo tornare a lungo da un campo di testo. Anche le altre risposte hanno funzionato bene, ho finito per adattare un po 'la mia mentre il mio progetto scolastico si evolveva.
long ms = [self.textfield.text longLongValue];
return ms;
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Ancora un altro modo: se stai lavorando con una stringa C, ad esempio const char *, C native atoi()è più conveniente.
Per convertire un numero di stringa in un Int , dovresti fare questo:
let stringNumber = "5"
let number = Int(stringNumber)