2013-04-01 70 views
20

所以這個問題讓我困惑太久。我有一個UIAlertView其中有一個textField,我需要textField的值作爲NSNumber。但是我嘗試的每件事都給了我隨機的數字。任何幫助將非常感激。NSString到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); 
+0

相關:http://stackoverflow.com/questions/1448804/how-to-convert-an-nsstring-into-an-nsnumber –

+0

我看到之前問。但是當我運行這些代碼時,我得到了:'159348080' – Andrew

+0

請發佈您的代碼,在這裏您可以從文本文件中獲取價值 –

回答

48

一次看到這一個,

NSString *string = @"123"; 
    NSNumber *aNum = [NSNumber numberWithInteger: [string integerValue]]; 
    NSLog(@"%@",aNum);//NSString to NSNumber 
    NSInteger number=[string intValue]; 
    NSLog(@"%i",number);//NSString to NSInteger 
+0

我認爲它是'numberWithInteger'和'integerValue'部分,它使它可以工作在任何原因。無論如何,非常感謝。 – Andrew

3

下面是一個整數和使用NSNumber文字的示例。如果字符串包含浮點數,則還可以使用floatValue方法。

NSString *string = @"54"; 
NSNumber *number = @([string intValue]); 
+0

我試過這個,得到:'159348080'當我登錄結果 – Andrew

+0

不應該第二行是,*** NSNumber * number = [NSNumber numberWithInt:[string intValue]]; * **? – EmptyStack

+0

這使用NSNumber文字相同的事情。 –

3

@Aaron Wojnowski,

使用NSNumberFormatter。如果你願意,你也可以設置分組分隔符。

NSNumberFormatter *formatString = [[NSNumberFormatter alloc] init]; 
stringValue = textfield.text; 
    NSNumber *reqNumber = [formatString numberFromString:stringValue]; 
7
NSString *string = @"54"; 
NSNumber *number = @([string intValue]); 
NSLog(@"here we are: %i", number); 

而是嘗試使用以下:

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

既然要轉換爲NSNumber的(對象)。您應該在NSLog語句中使用對象說明符%@。