iOS中NSNumberFormatter的介绍与用法

  

  

iOS中NSDateFormatter用的范围一般来说比较广泛,不过相对于处理数字而言,很少用到NSNumberFormatter, NSNumberFormatter中有很多枚举类型,会为实际开发节省时间。

  

NSNumberFormatter可以用来处理NSString和NSNumber之间的转化,可以满足基本的数字形式的转化。下面话不多说了,来一起看看详细的介绍吧

  

  

四舍五入到整数
  

        NSNumber数量*=@ (123423.5563);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterNoStyle);//123424      

货币数字形式
  

        NSNumber数量*=@ (12342323.5563);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterDecimalStyle);//12342323 .556      

货币的形式,带本地化的货币符号
  

        NSNumber数量*=@ (12342323.5563);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterCurrencyStyle);//¥12342323 .56点      

百分数形式,并且四舍五入到百分比的整数部分
  

        NSNumber数量*=@ (12342323.5563);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterPercentStyle);// 1234232356%      

科学计数形式
  

        NSNumber数量*=@ (12342323.55665);NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterScientificStyle);//1.234232355665 e7      

本地化拼写形式
  

        NSNumber数量*=@ (12342323.55665);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterSpellOutStyle);//三十四万二千三百二十三点五五六六五      

序数形式
  

        NSNumber数量*=@ (12342323.55665);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterOrdinalStyle);//第1234 2324      

货币形式显示ISO分配的货币符号
  

        NSNumber数量*=@ (12342323.55665);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterCurrencyISOCodeStyle);//元12342323 .56点      

货币形式
  

        NSNumber数量*=@ (12342323.55665);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterCurrencyPluralStyle);//12342323 .56点人民币      

会计形式
  

        NSNumber数量*=@ (12342323.55665);   NSString * numStr1=[NSNumberFormatter localizedStringFromNumber: numberStyle数量:NSNumberFormatterCurrencyAccountingStyle);//¥12342323 .56点      


  

  

不指定任何样式(numStyle),默认(NSNumberFormatterNoStyle)四舍五入,其他的样式同以上1中所介绍的
  

        NSNumber数量*=@ (12342323.55665);   NSNumberFormatter *格式化程序=[[NSNumberFormatter alloc] init);//指定货币样式   格式化程序。numberStyle=NSNumberFormatterDecimalStyle;//自定义样式   【格式化程序setPositiveFormat: @“# # # # # # 0。”);//数字之间的分隔符   (格式化程序setDecimalSeparator: @“:”);   (格式化程序setCurrencyDecimalSeparator: @”、“);//前缀符号   格式化程序。positivePrefix=@ !”;//后缀符号   格式化程序。positiveSuffix=@“元”;//间隙中添加的符号   格式化程序。paddingCharacter=@ & # 63;”;//格式的宽度   格式化程序。formatWidth=15;//最少展示两位小数   格式化程序。minimumFractionDigits=2;//最多展示三位整数   格式化程序。maximumIntegerDigits=5;   NSString * numStr=[格式化程序stringFromNumber数量):;//& # 63;& # 63;& # 63;& # 63;& # 63;& # 63;! 323:557元      

百分比样式展示
  

        NSNumberFormatter numberFormatter *=[[NSNumberFormatter alloc] init);   [numberFormatter setPositiveFormat: @“0.00%, 0.00%, -0.00%);   NSLog (@ % @”, [numberFormatter stringFromNumber: @4.0]);//输出:“400.00%”。//本地化   NSNumberFormatter numberFormatter *=[[NSNumberFormatter alloc] init);   [numberFormatter setNumberStyle: NSNumberFormatterPercentStyle];      当做又NSLocale NSLocale * usLocale=[[alloc] initWithLocaleIdentifier: @ " en_US "]; [numberFormatter setLocale usLocale):;   NSLog (@“en_US: % @”, [numberFormatter stringFromNumber: @4.0]);//输出:“en_US: 400%”。      当做又NSLocale NSLocale * faLocale=[[alloc] initWithLocaleIdentifier: @“fa_IR”);   [numberFormatter setLocale: faLocale];   NSLog (@“fa_IR: % @”, [numberFormatter stringFromNumber: @4.0]);//输出:“fa_IR: & # 1642; & # 1780; & # 1776; & # 1776;。”

iOS中NSNumberFormatter的介绍与用法