首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Objective C中为每3位数字添加逗号?

如何在Objective C中为每3位数字添加逗号?
EN

Stack Overflow用户
提问于 2010-02-10 09:31:45
回答 7查看 51.6K关注 0票数 72

如果我有一个数字int aNum = 2000000,我如何格式化它,以便我可以将它显示为NSString 2,000,000?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-02-10 09:39:08

不要自己设置数字格式。您几乎肯定不会正确处理所有的边缘情况或正确处理所有可能的语言环境。使用NSNumberFormatter将数字数据格式化为本地化字符串表示形式。

您可以使用NSNumberFormatter实例方法-setGroupingSeparator:将分组分隔符设置为@"," (或者更好的设置为[[NSLocale currentLocale] objectForKey:NSLocaleGroupingSeparator];感谢@ntesler),并使用-setGroupingSize:将分组分隔符设置为每3位数一次。

票数 80
EN

Stack Overflow用户

发布于 2011-12-14 14:13:22

使用NSNumberFormatter

具体地说:

代码语言:javascript
复制
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // this line is important!

NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithInteger:2000000]];

[formatter release];

默认情况下,NSNumberFormatter使用当前区域设置,因此分组分隔符默认设置为正确的值。关键是要记住设置一个数字样式。

票数 150
EN

Stack Overflow用户

发布于 2012-09-05 01:51:04

有一个static method on NSNumberFormatter可以做你需要的事情:

代码语言:javascript
复制
int aNum = 2000000;
NSString *display = [NSNumberFormatter localizedStringFromNumber:@(aNum)
                                                     numberStyle:NSNumberFormatterDecimalStyle];

如果不需要对格式化程序进行任何额外的配置,这种方法比创建一个新的NSNumberFormatter更简洁一些。

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2233824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档