iOS阿拉伯数字转汉字数字

阿拉伯数字转换为中文的数字,比如3转为,13转为十三

本来项目中遇到的基本上都是十以下的数字,想着直接搞个字典,到时候对应取值就OK了,可是到后来感觉不太稳妥,如果这个数字超过十的话,那样的场面将会异常尴尬的。后来找到一种方法,才知道原来框架中已经写好的有这些东西了。代码如下:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = kCFNumberFormatterRoundHalfDown;
NSString *string = [formatter stringFromNumber:[NSNumber numberWithInt: testNum]];

是不是感觉特别的熟悉啊,没错,每次我们将日期字符串转换为日期,或者日期转换为字符串的时候也是用类似的,不过日期用的是NSDateFormatter,用法类似,就不过多描述了,唯一值得一提的是formatter.numberStyle = kCFNumberFormatterRoundHalfDown;这个numberStyle的值是一个枚举,具体值如下:

typedef CF_ENUM(CFIndex, CFNumberFormatterRoundingMode) { 
  kCFNumberFormatterRoundCeiling = 0,  // 四舍五入输出
  kCFNumberFormatterRoundFloor = 1 ,    // 保留小数输出
  kCFNumberFormatterRoundDown = 2,   // 加上了人民币标志,原值输出
  kCFNumberFormatterRoundUp = 3,      // 本身数值乘以100后用百分号表示输出
  kCFNumberFormatterRoundHalfEven = 4,
  kCFNumberFormatterRoundHalfDown = 5,// 原值的中文表示输出
   kCFNumberFormatterRoundHalfUp = 6// 原值中文表示
};

你可能感兴趣的:(iOS阿拉伯数字转汉字数字)