NSNumberFormatter数字格式化

示例:

NSNumber *numB = [NSNumber numberWithDouble:666.666];
NSString *numberNoStyleStr = [NSNumberFormatter localizedStringFromNumber:numB numberStyle:NSNumberFormatterNoStyle];

typedef NS_ENUM (NSUInteger, NSNumberFormatterStyle) {

   NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,// 四舍五入的整数667

   NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,// 小数形式666.666

   NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,// 货币形式 -- 本地化$666.67

   NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,// 百分数形式66,667%

   NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,// 科学计数6.66666E2

   NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle,// 朗读形式 -- 本地化six hundred sixty-six point six six six

   NSNumberFormatterOrdinalStyle NS_ENUM_AVAILABLE(10_11,9_0) = kCFNumberFormatterOrdinalStyle,// 序数形式 -- 本地化667th

   NSNumberFormatterCurrencyISOCodeStyle NS_ENUM_AVAILABLE(10_11,9_0) = kCFNumberFormatterCurrencyISOCodeStyle,// 货币形式 ISO -- 本地化USD666.67

   NSNumberFormatterCurrencyPluralStyle NS_ENUM_AVAILABLE(10_11,9_0) = kCFNumberFormatterCurrencyPluralStyle,// 货币形式 -- 本地化666.67 US dollars

   NSNumberFormatterCurrencyAccountingStyle NS_ENUM_AVAILABLE(10_11,9_0) = kCFNumberFormatterCurrencyAccountingStyle,// 会计计数 -- 本地化$666.67

};

前后缀篇
//添加前缀
positivePrefix
//添加后缀
positiveSuffix
//如果是负数的时候的前缀 用这个字符串代替默认的"-"号
negativePrefix
//接收器用作负值的后缀的字符串
negativeSuffix
更改原始符号篇
//接收器用来更改百分比符号的字符串(默认是"%")
percentSymbol
//接收器用来更改千分比符号的字符串(默认是"‰")
perMillSymbol
//接收器用来更改减号的字符串(默认是"-")
minusSign
//接收器用来更改加号的字符串(默认是"+")
plusSign
//接收器用来更改指数符号的字符串(默认是"E")
exponentSymbol
//更改货币分组分割符号(默认是",")
currencyGroupingSeparator
注:上面属性只在numberStyle是 kCFNumberFormatterCurrencyStyle下有用
//更改小数点样式(默认是".")
decimalSeparator
//更改数值是0的样式(千万别误解成将数据中的带有的0全部更改仅仅只有数值的0的时候)
zeroSymbol
分割尺寸篇
//设置组大小
groupingSize
例:数字分割的尺寸 就比如数字越多1234 为了方便就分割开 1,234(这个分割的大小是3) 从后往前数的。
//设置第二组大小
secondaryGroupingSize
例:一些区域允许较大的数字的另一个分组大小的规范。例如,有些地方可能代表一个数字如61,242,378.46(在美国)
作为6,12, 42378.46。在这种情况下,二次分组大小(覆盖小数点最远的数字组)为2
注:小数点前的(大于零的部分),先从右往左分割groupSize的,如果剩余的在按照secondaryGroupingSize的大小来分。例如 123456.789 如果groupingSize= 4 ,secondaryGroupingSize = 2,则表现结果就是
12,3456.789。
格式宽度篇
// 格式宽度
formatWidth
例 123,45.6 格式宽度就是 8
//填充符 格式宽度不够时候用的填充
paddingCharacter
//填充符的位置
paddingPosition
注:以上三个属性常常连接在一起用的
舍入篇
//舍入方式
roundingMode
//舍入值
roundingIncrement
例: 舍入方式是kCFNumberFormatterRoundHalfUp 舍入值为1 123456.58 变为 123457
//整数最少几位
minimumIntegerDigits
//整数最多几位
maximumIntegerDigits
//小数位最多几位数
maximumFractionDigits
//小数位最少几位数
minimumFractionDigits
//最大值
maximum
//最小值
minimum
//最少有效数字的位数
minimumSignificantDigits
//最多有效数字的位数
maximumSignificantDigits





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值