20

所以这个问题困扰我太久了。我有 a UIAlertViewtextField我需要textFieldas a的值NSNumber。但是我尝试的一切都会给我随机的数字串。任何帮助将不胜感激。

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);
4

4 回答 4

50

一看到这个,

NSString *string = @"123";
NSNumber  *aNum = [NSNumber numberWithInteger: [string integerValue]];
NSLog(@"%@",aNum);//NSString to NSNumber
NSInteger number=[string intValue];
NSLog(@"%i",number);//NSString to NSInteger
于 2013-04-01T05:54:45.450 回答
7
NSString *string = @"54";
NSNumber *number = @([string intValue]);
NSLog(@"here we are: %i", number);

而是尝试使用以下内容:

NSLog(@"here we are: %@", number);

由于您正在转换为 NSNumber (对象)。您应该在 NSLog 语句中使用对象说明符 %@。

于 2013-04-01T07:05:40.387 回答
3

这是一个带有整数并使用 NSNumber 文字的示例。floatValue如果您的字符串包含浮点数,您也可以使用该方法。

NSString *string = @"54";
NSNumber *number = @([string intValue]);
于 2013-04-01T05:36:26.063 回答
3

@Aaron Wojnowski,

使用NSNumberFormatter如果需要,您也可以设置分组分隔符。

NSNumberFormatter *formatString = [[NSNumberFormatter alloc] init];
stringValue = textfield.text;
NSNumber *reqNumber = [formatString numberFromString:stringValue];
于 2013-04-01T05:42:36.790 回答