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.

MacN00b
fonte

Respostas:

22

E se

[@"7" intValue];

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

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
Paul.s
fonte
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];
}
max_
fonte
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
2

Swift 3.0:

Int("5")

ou

let stringToConvert = "5"
Int(stringToConvert)
Josh O'Connor
fonte
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

iAnkit
fonte
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;
natur3
fonte
0
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Alexsander Akers
fonte
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];

Jacob
fonte
0

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

dotslashlu
fonte
0

Você também pode usar como:

NSInteger getVal = [self.string integerValue];

Newbee
fonte
0

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

let stringNumber = "5"
let number = Int(stringNumber)
Ale Mohamad
fonte
Esta é uma duplicata exata de uma resposta existente.
Pranav Kasetti