How to convert NSNumber to NSString

后端 未结 7 1295
孤城傲影
孤城傲影 2020-11-29 19:25

So I have an NSArray \"myArray\" with NSNumbers and NSStrings. I need them in another UIView so i go like this:



        
相关标签:
7条回答
  • 2020-11-29 19:39

    The funny thing is that NSNumber converts to string automatically if it becomes a part of a string. I don't think it is documented. Try these:

    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);
    

    It will print:

    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
    

    Works on both Mac and iOS

    This one does not work:

    NSString *myNSNumber2 = [NSNumber numberWithFloat:-34512.23f];
    
    0 讨论(0)
  • 2020-11-29 19:40

    In Swift you can do like this

    let number : NSNumber = 95
    let str : String = number.stringValue
    
    0 讨论(0)
  • 2020-11-29 19:46

    Try:

    NSString *myString = [NSNumber stringValue];
    
    0 讨论(0)
  • 2020-11-29 19:46

    You can do it with:

    NSNumber *myNumber = @15;
    NSString *myNumberInString = [myNumber stringValue];
    
    0 讨论(0)
  • 2020-11-29 19:49

    or try NSString *string = [NSString stringWithFormat:@"%d", [NSNumber intValue], nil];

    0 讨论(0)
  • 2020-11-29 19:57

    In Swift 3.0

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

    We can get the number value in String.

    0 讨论(0)
提交回复
热议问题