Converta uma string em um int


87

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:



22

E se

[@"7" intValue];

Além disso, se você quiser, NSNumberpode fazer

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];

6
bom Deus NSNumberFormatter é complexo ... quero dizer "recurso completo".
Dave Dopson,

4
Cuidado - no iOS7 numberFromStringparece ser um método de instância ao invés de classe , então você deve fazer em [[NSNumberFormatter new] numberFromString:@"7"];vez disso.
mgarciaisaia

@mgarciaisaia não devemos fazer [[[NSNumberFormatter alloc] init] numberFromString:@"7"];conforme stackoverflow.com/questions/719877/…
Michael Osofsky

3

Eu uso:

NSInteger stringToInt(NSString *string) {
    return [string integerValue];
}

E vice versa:

NSString* intToString(NSInteger integer) {
    return [NSString stringWithFormat:@"%d", integer];
}

1
verifique o seu valor de retorno. NSString *
AWF4vk

Estou usando dados extraídos de NSUserDefaults, então o que devo colocar após NSString * string =
MacN00b

Qualquer um desses realmente funcionará? Certamente as definições precisam de um ponto-e-vírgula ou você travará unrecognized selectorporque na verdade @selector(intToString:)não enviará @selector(intToString). Certamente deveria ser assim - (NSInteger) stringToInt:(NSString *)string;e- (NSString *)intToString:(NSInteger)integer;
Paul.

1
Ambos são funções C. Mas precisa ser NSString *assim, como disse @David.
Espresso

@Espresso cheers Não tenho experiência em C, então faz mais sentido agora
Paul.s


1

Esta é a solução simples para converter string em int

NSString *strNum = @"10";
int num = [strNum intValue];

mas quando você está obtendo valor do campo de texto ,

int num = [txtField.text intValue];

onde txtField é uma saída de UITextField


1

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;

0
NSString *string = /* Assume this exists. */;
int value = [string intValue];

Estou usando dados extraídos de NSUserDefaults, então o que devo colocar após NSString * string =
MacN00b

1
NSString * string = [[NSUserDefaults standardUserDefaults] stringForKey: @ "YOUR_KEY"];
Benjamin Mayo

0

Muito fácil..

int (name of integer) = [(name of string, no ()) intValue];


0

Ainda outra maneira: se você estiver trabalhando com uma string C, por exemplo, const char *, C nativo atoi()é mais conveniente.


0

Você também pode usar como:

NSInteger getVal = [self.string integerValue];


0

Para converter um número String em Int , você deve fazer o seguinte:

let stringNumber = "5"
let number = Int(stringNumber)

Esta é uma duplicata exata de uma resposta existente.
Pranav Kasetti
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.