【问题标题】:Convert NSNumber to NSString with NSNumberFormatter使用 NSNumberFormatter 将 NSNumber 转换为 NSString
【发布时间】:2011-02-22 14:34:22
【问题描述】:

我正在将NSNumber 转换为NSString,假设在此示例中"theindex" 中的选定键是1000000

NSNumber  *firstNumber = [tempDict objectForKey:@"theindex"];
NSString *convertNumber = [firstNumber stringValue];

返回NSString“1000000”

我希望字符串的值为“1,000,000”。

我不关心本地化,但从其他问题中了解到应该实现NSNumberFormatter。我不知道如何做到这一点?

【问题讨论】:

    标签: iphone objective-c cocoa-touch nsnumberformatter


    【解决方案1】:

    这是一个使用 NSNumberFormatter 标准格式样式的示例:

    NSNumber *firstNumber = [NSNumber numberWithInt:123456789];
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle];
    NSString *convertNumber = [formatter stringForObjectValue:firstNumber];
    NSLog(@"value : %@", convertNumber);
    

    您可以参考其他示例:
    http://iosdevelopertips.com/cocoa/formatting-numbers-nsnumberformatter-examples.html

    【讨论】:

      【解决方案2】:
       NSNumber  *firstNumber = [[NSNumber alloc] initWithInt:1000000] ;
       NSNumberFormatter *format=[[NSNumberFormatter alloc] init];
       [format setGroupingSize:3];
       [format setCurrencyGroupingSeparator:@","];
       [format setNumberStyle:NSNumberFormatterDecimalStyle];
       NSString *convertNumber = [format stringFromNumber:firstNumber];
      

      【讨论】:

        猜你喜欢
        • 2011-09-05
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 2011-04-27
        • 2010-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多