NSNumberFormatter的使用(转换数字)

初始化:

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
     enum {

    NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,

    NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,

    NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,

    NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,

    NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,

    NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle

y


    NSNumberFormatterRoundCeiling =
kCFNumberFormatterRoundCeiling,//四舍五入,原值2.7999999999,直接输出3 

    NSNumberFormatterRoundFloor =
kCFNumberFormatterRoundFloor,//保留小数输出2.8 正是想要的

    NSNumberFormatterRoundDown =
kCFNumberFormatterRoundDown,//加上了人民币标志,原值输出¥2.8

    NSNumberFormatterRoundUp =
kCFNumberFormatterRoundUp,//本身数值乘以100后用百分号表示,输出280%

    NSNumberFormatterRoundHalfEven =
kCFNumberFormatterRoundHalfEven,//原值表示,输出2.799999999E0

    NSNumberFormatterRoundHalfDown =
kCFNumberFormatterRoundHalfDown,//原值的中文表示,输出二点七九九九。。。。

    NSNumberFormatterRoundHalfUp =
kCFNumberFormatterRoundHalfUp //原值中文表示,输出第三

};
 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:一亿二千三百四十五万六千七百八十九

其中第三项和最后一项的输出会根据系统设置的语言区域的不同而不同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值