Tengo problemas para convertir una cadena en un número entero. Lo busqué en Google, pero todo lo que puedo encontrar es cómo convertir un int en una cadena. ¿Alguien sabe cómo hacerlo al revés? Gracias.
Respuestas:
Consulte la Referencia de clase NSString .
NSString *string = @"5";
int value = [string intValue];
Qué tal si
[@"7" intValue];
Además, si quieres, NSNumber
puedes hacer
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromString
parece ser un método de instancia en lugar de uno de clase , por lo que debería hacerlo en su [[NSNumberFormatter new] numberFromString:@"7"];
lugar.
[[[NSNumberFormatter alloc] init] numberFromString:@"7"];
según stackoverflow.com/questions/719877/…
Yo suelo:
NSInteger stringToInt(NSString *string) {
return [string integerValue];
}
Y viceversa:
NSString* intToString(NSInteger integer) {
return [NSString stringWithFormat:@"%d", integer];
}
unrecognized selector
porque en realidad @selector(intToString:)
no enviará @selector(intToString)
. Seguramente debería ser así en su lugar - (NSInteger) stringToInt:(NSString *)string;
y- (NSString *)intToString:(NSInteger)integer;
NSString *
embargo, tiene que ser así , como dijo @David.
Swift 3.0:
Int("5")
o
let stringToConvert = "5"
Int(stringToConvert)
Tenía que hacer algo como esto, pero quería usar un getter / setter para el mío. En particular, quería regresar un largo de un campo de texto. Las otras respuestas también funcionaron bien, simplemente terminé adaptando la mía un poco a medida que evolucionaba mi proyecto escolar.
long ms = [self.textfield.text longLongValue];
return ms;
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Otra forma más: si está trabajando con una cadena C, por ejemplo, const char *, C native atoi()
es más conveniente.
También puedes usar like:
NSInteger getVal = [self.string integerValue];
Para convertir un número de cadena en un Int , debe hacer esto:
let stringNumber = "5"
let number = Int(stringNumber)