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, NSNumber
potresti farlo
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromString
sembra 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 selector
perché 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)