xcode 在 Objective C 中格式化 NSNumber

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9820203/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 23:45:04  来源:igfitidea点击:

Format The NSNumber in Objective C

iphoneobjective-ciosxcode

提问by Mudit Bajpai

How can I convert NSNumber "1234567 " to "12,34,567"?

如何将 NSNumber "1234567 " 转换为 "12,34,567"?

I have used the NSNumberFormatter for this,but couldn't get the desired result.

我为此使用了 NSNumberFormatter,但无法获得所需的结果。

I am doing like this

我这样做

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle];
    NSString *formattedString = [formatter stringFromNumber:[NSNumber numberWithFloat:1234567]];
    NSLog(@":%@",formattedString);

Output: 1,234,567

输出:1,234,567

Desired Output: 12,34,567

期望输出:12,34,567

回答by iffi

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setPositiveFormat:@"##,##,###"];      
NSString *formattedNumberString = [numberFormatter 
      stringFromNumber:[NSNumber numberWithFloat:1234567]];
NSLog(@"formattedNumberString: %@", formattedNumberString);
[numberFormatter release];

回答by Schulze Thomas

NSNumber *number = [NSNumber numberWithInteger:1234567];
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSLog(@"%@", [formatter stringFromNumber:number]);
[formatter release];