web-dev-qa-db-ja.com

NSStringからNSNumberへ

そのため、この問題はあまりにも長い間私を困惑させてきました。 UIAlertViewを含むtextFieldがあり、textFieldの値が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);
20
Andrew

これを見たら、

NSString *string = @"123";
NSNumber  *aNum = [NSNumber numberWithInteger: [string integerValue]];
NSLog(@"%@",aNum);//NSString to NSNumber
NSInteger number=[string intValue];
NSLog(@"%i",number);//NSString to NSInteger
50
Balu
NSString *string = @"54";
NSNumber *number = @([string intValue]);
NSLog(@"here we are: %i", number);

代わりに、次を使用してみてください。

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

NSNumber(オブジェクト)に変換しているため。 NSLogステートメントでオブジェクト指定子%@を使用する必要があります。

7
bpolat

NSNumberリテラルを使用した整数のサンプルを次に示します。文字列にフロートが含まれている場合は、floatValueメソッドを使用することもできます。

NSString *string = @"54";
NSNumber *number = @([string intValue]);
3
Aaron Wojnowski

@Aaron Wojnowski、

NSNumberFormatterを使用する必要に応じて、グループ化区切り文字も設定できます。

NSNumberFormatter *formatString = [[NSNumberFormatter alloc] init];
stringValue = textfield.text;
NSNumber *reqNumber = [formatString numberFromString:stringValue];
3
Ramu Pasupuleti