iOS数字转文字


/**

*通过数字得到相应的文字

*

*@param arebic数字Str @"1234567890"

*

*@return文字对应的数字

*/

- (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(@"%@ to %@",str,chinese);

return chinese;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 1.UITableView的Group...
    无沣阅读 4,183评论 0 2
  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发 原文地址:http://www.jianshu.com/...
    Marray阅读 2,755评论 0 0
  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 UITableView的Group样式下顶部...
    UI爱好者阅读 3,547评论 0 0
  • UITableView的Group样式下顶部空白处理 //分组列表头部空白处理UIView*view = [[UI...
    莫离_焱阅读 3,184评论 0 0
  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 UITableView的Group样式下顶部...
    管你爱不爱阅读 3,138评论 0 1

友情链接更多精彩内容