Estou tendo problemas para converter uma string em um inteiro. Eu pesquisei, mas tudo que posso encontrar é como converter um int em uma string. Alguém sabe fazer ao contrário? Obrigado.
Respostas:
Consulte a Referência de classe NSString .
NSString *string = @"5";
int value = [string intValue];
E se
[@"7" intValue];
Além disso, se você quiser, NSNumber
pode fazer
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromString
parece ser um método de instância ao invés de classe , então você deve fazer em [[NSNumberFormatter new] numberFromString:@"7"];
vez disso.
[[[NSNumberFormatter alloc] init] numberFromString:@"7"];
conforme stackoverflow.com/questions/719877/…
Eu uso:
NSInteger stringToInt(NSString *string) {
return [string integerValue];
}
E vice versa:
NSString* intToString(NSInteger integer) {
return [NSString stringWithFormat:@"%d", integer];
}
unrecognized selector
porque na verdade @selector(intToString:)
não enviará @selector(intToString)
. Certamente deveria ser assim - (NSInteger) stringToInt:(NSString *)string;
e- (NSString *)intToString:(NSInteger)integer;
NSString *
assim, como disse @David.
Swift 3.0:
Int("5")
ou
let stringToConvert = "5"
Int(stringToConvert)
Eu tinha que fazer algo assim, mas queria usar um getter / setter para o meu. Em particular, eu queria retornar muito de um campo de texto. As outras respostas funcionaram bem também, acabei adaptando um pouco a minha conforme o projeto da escola evoluía.
long ms = [self.textfield.text longLongValue];
return ms;
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Ainda outra maneira: se você estiver trabalhando com uma string C, por exemplo, const char *, C nativo atoi()
é mais conveniente.
Para converter um número String em Int , você deve fazer o seguinte:
let stringNumber = "5"
let number = Int(stringNumber)