NSNumberFormatter 数字千分位小技巧

数字千分位需求iOS中还是有专门的处理函数


long double orderSum = [[NSString stringwithFormant:@"3.0315E7"]  floatValue];

NSNumberFormatter * formatter = [[NSNumberFormatter alloc]init];

formatter.numberStyle = NSNumberFormatterDecimalStyle;

NSString * string = [formatter stringFromNumber:[NSNumber numberWithDouble:orderSum]];


此时string输出的格式就是30,315,000

下面是网络上的原文,讲的更详细一点

在iOS中我们可以通过NSDateFormatter来设置输出NSDate的格式。相比NSDateFormatter的大名鼎鼎,NSNumberFormatter好像知道的人就不多了。其实通过NSNumberFormatter,同样可以设置NSNumber输出的格式。例如如下代码:


NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];

formatter.numberStyle = NSNumberFormatterDecimalStyle;

NSString *string = [formatter stringFromNumber:[NSNumber numberWithInt:123456789]];

NSLog(@"Formatted number string:%@",string);


输出结果为:[1223:403] Formatted number string:123,456,789

其中NSNumberFormatter类有个属性numberStyle,它是一个枚举型,设置不同的值可以输出不同的数字格式。该枚举包括:

enum {

NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,

NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,

NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,

NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,

NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,

NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle

};

typedef NSUInteger NSNumberFormatterStyle;

各个枚举对应输出数字格式的效果如下:

[1243:403] Formatted number string:123456789

[1243:403] Formatted number string:123,456,789

[1243:403] Formatted number string:¥123,456,789.00

[1243:403] Formatted number string:-539,222,988%

[1243:403] Formatted number string:1.23456789E8

[1243:403] Formatted number string:一亿二千三百四十五万六千七百八十九

其中第三项和最后一项的输出会根据系统设置的语言区域的不同而不同。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • UITableView的Group样式下顶部空白处理//分组列表头部空白处理UIView *view = [[UI...
    阿兹尔阅读 337评论 0 1
  • 原文 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 1.UITableView的Group...
    无沣阅读 794评论 0 2
  • UITableView的Group样式下顶部空白处理 //分组列表头部空白处理UIView*view = [[UI...
    莫离_焱阅读 433评论 0 0
  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发 原文地址:http://www.jianshu.com/...
    Marray阅读 340评论 0 0
  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 UITableView的Group样式下顶部...
    UI爱好者阅读 532评论 0 0