Antworten:
Siehe die NSString-Klassenreferenz .
NSString *string = @"5";
int value = [string intValue];
Wie wäre es mit
[@"7" intValue];
Wenn Sie möchten, können NSNumber
Sie dies auch tun
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromString
scheint es sich eher um eine Instanzmethode als um eine Klasse zu handeln. Sie sollten dies [[NSNumberFormatter new] numberFromString:@"7"];
stattdessen tun .
[[[NSNumberFormatter alloc] init] numberFromString:@"7"];
gemäß stackoverflow.com/questions/719877/…
Ich benutze:
NSInteger stringToInt(NSString *string) {
return [string integerValue];
}
Und umgekehrt:
NSString* intToString(NSInteger integer) {
return [NSString stringWithFormat:@"%d", integer];
}
unrecognized selector
weil Sie tatsächlich das Senden wird @selector(intToString:)
nicht @selector(intToString)
. Sicherlich sollte es stattdessen so sein - (NSInteger) stringToInt:(NSString *)string;
und- (NSString *)intToString:(NSInteger)integer;
NSString *
, wie @David sagte.
Swift 3.0:
Int("5")
oder
let stringToConvert = "5"
Int(stringToConvert)
Ich musste so etwas machen, wollte aber einen Getter / Setter für meinen verwenden. Insbesondere wollte ich lange von einem Textfeld zurückkehren. Die anderen Antworten haben auch alle gut funktioniert. Ich habe mich nur ein wenig angepasst, als sich mein Schulprojekt weiterentwickelte.
long ms = [self.textfield.text longLongValue];
return ms;
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Noch eine andere Möglichkeit: Wenn Sie mit einer C-Zeichenfolge arbeiten, z. B. const char *, ist C native atoi()
bequemer.
Sie können auch wie folgt verwenden:
NSInteger getVal = [self.string integerValue];
Um eine String- Nummer in ein Int zu konvertieren , gehen Sie folgendermaßen vor:
let stringNumber = "5"
let number = Int(stringNumber)