programing

NSNumber를 NSString으로 변환하는 방법

mailnote 2023. 4. 26. 23:32
반응형

NSNumber를 NSString으로 변환하는 방법

그래서 저는.NSArray"myArray" 사용NSNumber모래땅NSString그것들을 다른 것에 넣어주세요.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그게 다야? (실제로 현으로 필요해요...) 저는 변환할 것입니다.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];

재미있는 것은 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];

스위프트에서는 이렇게 할 수 있습니다.

let number : NSNumber = 95
let str : String = number.stringValue

Swift 3.0에서

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

우리는 String에서 숫자 값을 얻을 수 있습니다.

언급URL : https://stackoverflow.com/questions/3969972/how-to-convert-nsnumber-to-nsstring

반응형