如何将NSNumber转换为NSString
所以我有一个NSArray
“myArray”与NSNumber
s和NSString
s。 我需要他们在另一个UIView
所以我走这样的:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { DetailViewController *details = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil]; details.subjectText = [[myArray objectAtIndex:indexPath.row] objectForKey:@"subject"];
主题文本的作品。 但是我怎样才能得到NSNumber
呢? (我实际上需要他们作为string…)我会转换NSString
这样的NSNumber
出来: NSString *blah = [NSNumber intValue]
。 但是我不知道如何在上面的代码中设置它…
尝试:
NSString *myString = [NSNumber stringValue];
你可以这样做:
NSNumber *myNumber = @15; NSString *myNumberInString = [myNumber stringValue];
//An example of implementation : // we set the score of one player to a value [Game getCurrent].scorePlayer1 = [NSNumber numberWithInteger:1]; // We copy the value in a NSNumber NSNumber *aNumber = [Game getCurrent].scorePlayer1; // Conversion of the NSNumber aNumber to a String with stringValue NSString *StringScorePlayer1 = [aNumber stringValue];
或者试试NSString *string = [NSString stringWithFormat:@"%d", [NSNumber intValue], nil];
在Swift中,你可以这样做
let number : NSNumber = 95 let str : String = number.stringValue
有趣的是,如果NSNumber成为string的一部分,它会自动转换为string。 我不认为这是logging。 试试这些:
NSLog(@"My integer NSNumber:%@",[NSNumber numberWithInt:184]); NSLog(@"My float NSNumber:%@",[NSNumber numberWithFloat:12.23f]); NSLog(@"My bool(YES) NSNumber:%@",[NSNumber numberWithBool:YES]); NSLog(@"My bool(NO) NSNumber:%@",[NSNumber numberWithBool:NO]); NSString *myStringWithNumbers = [NSString stringWithFormat:@"Int:%@, Float:%@ Bool:%@",[NSNumber numberWithInt:132],[NSNumber numberWithFloat:-4.823f],[NSNumber numberWithBool:YES]]; NSLog(@"%@",myStringWithNumbers);
它将打印:
My integer NSNumber:184 My float NSNumber:12.23 My bool(YES) NSNumber:1 My bool(NO) NSNumber:0 Int:132, Float:-4.823 Bool:1
适用于Mac和iOS
这一个不起作用:
NSString *myNSNumber2 = [NSNumber numberWithFloat:-34512.23f];
在Swift 3.0中
let number:NSNumber = 25 let strValue = String(describing: number as NSNumber) print("As String => \(strValue)")
我们可以在String中获取数字值。