iOS—阿拉伯数字转化为汉语数字

阿拉伯数字转化为汉语数字。近期项目中涉及到图书,章节顺序生成(1、2、3...)要在APP端处理章节.在这分享一个数字转换汉字的方法供大家一起学习参考。

+(NSString *)chaptersDealWithString:(NSString *)chapterStr
{   
NSString *str = chapter;
NSArray * chapter_numerals = @[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0"];
NSArray *chinese_numerals = @[@"一",@"二",@"三",@"四",@"五",@"六",@"七",@"八",@"九",@"零"];

NSArray *digits = @[@"个",@"十",@"百",@"千",@"万",@"十",@"百",@"千",@"亿",@"十",@"百",@"千",@"兆"];

NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:chinese_numerals forKeys: chapter_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;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这一部分来引用一下,较为奇巧的观点,个人比较认同。 为什么汉语是世界上最先进的语言之一 一、语言水平高低的评判准则...
    AndyLau阅读 2,891评论 0 17
  • 睁开 人来人往 总是模仿 花开花落 净是嚣张 风,前行着在远方 曲,回头的在心上 韵聚散 飘乱我发 调平淡 撩动我...
    劉某阅读 405评论 0 0
  • 二十多年生涯,第一次我养了一只猫,这猫不一样,它跟我特别像。 公司楼下有只麻色流浪猫,特别瘦弱,皮毛很糙。但脾气很...
    时绊阅读 747评论 1 51
  • 文笔训练营第一课 作业: 1. 好好思考一下,你有没有一个写文章时可供征引阐发的资源库?如果有,是哪一方面,已经读...
    安仔哥阅读 186评论 3 1
  • 虽已年芳二十又一 却不如村里同龄的孩子那般成熟 像个长不大的孩子 懵懂 茫然 随波 还总是寄期望于家 一味的索取...
    浅浅微笑的时光阅读 148评论 0 0