Estoy teniendo problemas para convertir una cadena en un entero. He buscado en google pero todo lo que puedo encontrar es cómo convertir un entero en una cadena. ¿Alguien sabe cómo hacerlo de la otra manera? Gracias.

InformationsquelleAutor MacN00b | 2011-07-09

11 Comentarios

  1. 22

    ¿

    [@"7" intValue];

    Además si quieres un NSNumber usted podría hacer

    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter numberFromString:@"7"];
    • bueno señor NSNumberFormatter es complejo … me refiero a «funciones».
    • Atento – en iOS7 numberFromString parece ser un ejemplo método en lugar de un clase uno, por lo que debe hacer [[NSNumberFormatter new] numberFromString:@"7"]; lugar.
    • no hemos de hacer [[[NSNumberFormatter alloc] init] numberFromString:@"7"]; como por stackoverflow.com/questions/719877/…
  2. 3

    Yo uso:

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

    Y viceversa:

    NSString* intToString(NSInteger integer) {
        return [NSString stringWithFormat:@"%d", integer];
    }
    • revise su valor de retorno. NSString*
    • Estoy utilizando datos extraídos de NSUserDefaults entonces, ¿qué debo poner después de la NSString * * cadena =
    • Será alguno de estos en realidad? Seguramente las definiciones que se necesita un punto de colon o de que se estrelle con unrecognized selector porque realmente va a ser el envío de @selector(intToString:) no @selector(intToString). Seguramente debe ser como este lugar - (NSInteger) stringToInt:(NSString *)string; y - (NSString *)intToString:(NSInteger)integer;
    • Ambas son funciones C. Debe ser NSString * aunque, como @David, dijo.
    • saludos I no tienen experiencia en C, así que tiene más sentido ahora
    • Yo de la mano escribió en lugar de correr a través de Xcode, es por eso que la * falta.
    • +1 por ser la única respuesta que utiliza correctamente integerValue en lugar de intValue que es más capaz de manejar la diferencia entre 32 bits y arquitecturas de 64 bits.

  3. 1

    Esta es la solución sencilla para la conversión de string a int

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

    pero cuando se a obtener valor a partir de la textfield entonces,

    int num = [txtField.text intValue];

    donde txtField es una salida de UITextField

  4. 1

    Que tenía que hacer algo como esto, pero quería usar un getter/setter para la mía. En particular, quería regresar de un largo de un campo de texto. Las otras respuestas en todo funcionó bien también, yo apenas terminó la adaptación de la mía un poco como mi proyecto de la escuela evolucionado.

    long ms = [self.textfield.text longLongValue];
    return ms;
  5. 0
    NSString *string = /* Assume this exists. */;
    int value = [string intValue];
    • Estoy utilizando datos extraídos de NSUserDefaults entonces, ¿qué debo poner después de la NSString * * cadena =
    • NSString * * cadena = [[NSUserDefaults standardUserDefaults] stringForKey:@»YOUR_KEY»];
  6. 0

    Aun de otra manera: si usted está trabajando con una cadena C, por ejemplo, const char *, C nativo atoi() es más conveniente.

  7. 0

    Para convertir un Cadena número a un Int, usted debe hacer esto:

    let stringNumber = "5"
    let number = Int(stringNumber)
    • Este es un duplicado exacto de una respuesta existente.

Dejar respuesta

Please enter your comment!
Please enter your name here