iphone - NSString a NSNumber
objective-c int (4)
@Aaron Wojnowski,
Use NSNumberFormatter
Si lo desea, también puede configurar el separador de agrupación.
NSNumberFormatter *formatString = [[NSNumberFormatter alloc] init];
stringValue = textfield.text;
NSNumber *reqNumber = [formatString numberFromString:stringValue];
Así que este problema me ha estado desconcertando por demasiado tiempo. Tengo un UIAlertView
con un textField
de textField
en él, y necesito el valor del campo de textField
como un NSNumber
. Pero todo lo que intento me da cadenas aleatorias de números. Cualquier ayuda sería muy apreciada.
int i = [[alertView textFieldAtIndex:0].text intValue];
NSNumber *number = [NSNumber numberWithInt:[[alertView textFieldAtIndex:0].text integerValue]];
int number = [[dict objectForKey:@"integer"] intValue];
NSLog(@"text = %@", [alertView textFieldAtIndex:0].text);
NSString *alertText = [alertView textFieldAtIndex:0].text;
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterNoStyle];
NSNumber * myNumber = [f numberFromString:[alertView textFieldAtIndex:0].text];
NSNumber *number = @([alertText intValue]);
NSString *string = @"54";
NSNumber *number = @([string intValue]);
NSLog(@"here we are: %i", number);
Aquí hay una muestra con un entero y usando los literales NSNumber. También puede usar el método floatValue
si su cadena contiene un flotante.
NSString *string = @"54";
NSNumber *number = @([string intValue]);
Una vez que vea este,
NSString *string = @"123";
NSNumber *aNum = [NSNumber numberWithInteger: [string integerValue]];
NSLog(@"%@",aNum);//NSString to NSNumber
NSInteger number=[string intValue];
NSLog(@"%i",number);//NSString to NSInteger
NSString *string = @"54";
NSNumber *number = @([string intValue]);
NSLog(@"here we are: %i", number);
En su lugar, intente usar lo siguiente:
NSLog(@"here we are: %@", number);
Ya que estás convirtiendo a NSNumber (Objeto). Debe usar el especificador de objeto% @ en su declaración NSLog.