133

だから私はsとsを持つNSArray「myArray」を持っています。私は別のものでそれらが必要なので、私はこのように行きます:NSNumberNSStringUIView

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

DetailViewController *details = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
details.subjectText = [[myArray objectAtIndex:indexPath.row] objectForKey:@"subject"];

subjectTextは機能します。しかし、どうすればNSNumberそれからsを取り除くことができますか?(私は実際にそれらを文字列として必要とします...)私は次NSStringのようなものから変換しNSNumberます: NSString *blah = [NSNumber intValue]。しかし、上記のコードで設定する方法がわかりません...

4

7 に答える 7

385

試す:

NSString *myString = [NSNumber stringValue];
于 2010-10-19T15:29:28.637 に答える
14

あなたはそれを行うことができます:

NSNumber *myNumber = @15;
NSString *myNumberInString = [myNumber stringValue];
于 2014-03-15T04:09:50.253 に答える
7
//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];
于 2012-08-02T15:50:24.883 に答える
5

または試してみてくださいNSString *string = [NSString stringWithFormat:@"%d", [NSNumber intValue], nil];

于 2010-10-19T15:34:15.503 に答える
3

面白いことに、NSNumberは文字列の一部になると、自動的に文字列に変換されます。文書化されていないと思います。これらを試してください:

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];
于 2014-04-26T06:30:39.763 に答える
2

Swiftではこのように行うことができます

let number : NSNumber = 95
let str : String = number.stringValue
于 2016-01-25T10:01:29.210 に答える
2

Swift3.0の場合

let number:NSNumber = 25
let strValue = String(describing: number as NSNumber)
print("As String => \(strValue)")

文字列で数値を取得できます。

于 2016-12-12T11:08:27.097 に答える