NSNumberFormatter

参考文档

常用NSDateFormatter,但少见NSNumberFormatter ,但后者似乎功能更丰富,也更实用。

类方法

/*
     eg. 12345.345
     NSNumberFormatterNoStyle //四舍五入整数
     NSNumberFormatterDecimalStyle //小数形式
     NSNumberFormatterCurrencyStyle //本地货币样式,保留两位小数 $12,345.34
     NSNumberFormatterPercentStyle   //百分比样式  1,234,534%
     NSNumberFormatterScientificStyle  //科学计数样式  1.2345345E4
     NSNumberFormatterSpellOutStyle //朗读样式 twelve thousand three hundred forty-five point three four five
     
     iOS 9.0后
     NSNumberFormatterOrdinalStyle            //序数样式  12,345th
     NSNumberFormatterCurrencyISOCodeStyle   //货币代码样式  USD12,345.34
     NSNumberFormatterCurrencyPluralStyle    //本地货币样式  12,345.34 US dollars
     NSNumberFormatterCurrencyAccountingStyle //会计计数  $12,345.34
     */
    NSNumber *number = [NSNumber numberWithDouble:12345.345];
    NSString *numberNoStyleStr = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterCurrencyAccountingStyle];

实例方法

    //实例方法
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc]init];
    //舍入值
    formatter.roundingIncrement = @10;
    formatter.roundingMode = kCFNumberFormatterRoundUp;
    NSLog(@"%@",[formatter numberFromString:@""]);

    //样式
    formatter.numberStyle = NSNumberFormatterDecimalStyle ;
    //宽度,包括前后缀在内的宽度
    formatter.formatWidth = 12;
    //填充位置符(单个字符)
    formatter.paddingCharacter = @"X";
    formatter.paddingPosition = NSNumberFormatterDecimalStyle;
    /*
     NSNumberFormatterPadBeforePrefix
     NSNumberFormatterPadAfterPrefix
     NSNumberFormatterPadBeforeSuffix
     NSNumberFormatterPadAfterSuffix
     */

    //后缀
    formatter.positiveSuffix = @"元";
    //前缀
    formatter.positivePrefix = @"¥";
    //缩放因子
    formatter.multiplier = @10;
    //负数样式
    formatter.negativeFormat = @"-";
    //正数样式
    formatter.positiveFormat = @"+";
    //小数点的样式
    formatter.decimalSeparator = @".";
    //零的样式
    formatter.zeroSymbol = @"0";
    
    //设置了这个后,会自动用0补充而不用位置符
    //整数的最多/少位数
    formatter.maximumIntegerDigits = 100;
    formatter.minimumIntegerDigits = 10;
    //小数的最多/少位数
    formatter.maximumFractionDigits = 10;
    formatter.minimumFractionDigits = 7;

    NSLog(@"%@",[formatter stringFromNumber:number]);


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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • 原文链接:http://blog.csdn.net/mumubumaopao/article/details/50...
    吃大米的小蚂蚁阅读 1,891评论 0 2
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,898评论 25 709
  • 你不在的时候多 那是真的不在 但仿佛又不是真的不在 你不在的时候我会一直想你 现在你还是不在 与之前不同的是 我找...
    云尚三阅读 105评论 0 0
  • 爸爸躺在床上,我给他听歌,和他一起唱《我的祖国》。 邻床的人说,如果这个女儿天天在,他很快就好了。 我想留下,可是...
    静皈之阅读 155评论 0 0