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的介绍与用法