iOS 算法之:阿拉伯数字转化为汉语数字
2015-07-29 15:26
441 查看
**阿拉伯数字转化为汉语数字**
+(NSString *)translation:(NSString *)arebic { NSString *str = arebic; NSArray *arabic_numerals = @[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0"]; NSArray *chinese_numerals = @[@"一",@"二",@"三",@"四",@"五",@"六",@"七",@"八",@"九",@"零"]; NSArray *digits = @[@"个",@"十",@"百",@"千",@"万",@"十",@"百",@"千",@"亿",@"十",@"百",@"千",@"兆"]; NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:chinese_numerals forKeys:arabic_numerals]; NSMutableArray *sums = [NSMutableArray array]; for (int i = 0; i < str.length; i ++) { NSString *substr = [str substringWithRange:NSMakeRange(i, 1)]; NSString *a = [dictionary objectForKey:substr]; NSString *b = digits[str.length -i-1]; NSString *sum = [a stringByAppendingString:b]; if ([a isEqualToString:chinese_numerals[9]]) { if([b isEqualToString:digits[4]] || [b isEqualToString:digits[8]]) { sum = b; if ([[sums lastObject] isEqualToString:chinese_numerals[9]]) { [sums removeLastObject]; } }else { sum = chinese_numerals[9]; } if ([[sums lastObject] isEqualToString:sum]) { continue; } } [sums addObject:sum]; } NSString *sumStr = [sums componentsJoinedByString:@""]; NSString *chinese = [sumStr substringToIndex:sumStr.length-1]; NSLog(@"%@",str); NSLog(@"%@",chinese); return chinese; }
相关文章推荐
- ios 根据总数和列数 计算显示行数
- ios 常用的处理沙盒文件方法
- IOS秒转日期和注意的细节
- iOS 精确定时器
- Create an iOS Universal Framework
- iOS开发多线程篇—GCD的基本使用
- 【IOS】IOS开发常用函数
- iOS开发多线程篇—GCD介绍
- iOS中使用轮播图遇到的问题
- iOS开发之使用Runtime给Model类赋值
- IOS资料
- [IOS]音频的后台播放和远程控制
- IOS经典的书籍推荐
- ios开发--注册通知NSNotificationCenter
- ios开发--Header Search Paths
- iOS开发多线程篇—NSThread及线程的状态
- ios开发--xcode如何实现多工程联编
- iOS开发,更改状态栏(StatusBar)文字颜色为白色
- iOS实用代码片段
- iOS-动态创建按钮