标签:
/** * 将阿拉伯数字转换为中文数字 */ +(NSString *)translationArabicNum:(NSInteger)arabicNum { NSString *arabicNumStr = [NSString stringWithFormat:@"%ld",(long)arabicNum]; NSArray *arabicNumeralsArray = @[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0"]; NSArray *chineseNumeralsArray = @[@"一",@"二",@"三",@"四",@"五",@"六",@"七",@"八",@"九",@"零"]; NSArray *digits = @[@"个",@"十",@"百",@"千",@"万",@"十",@"百",@"千",@"亿",@"十",@"百",@"千",@"兆"]; NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:chineseNumeralsArray forKeys:arabicNumeralsArray]; if (arabicNum < 20 && arabicNum > 9) { if (arabicNum == 10) { return @"十"; }else{ NSString *subStr1 = [arabicNumStr substringWithRange:NSMakeRange(1, 1)]; NSString *a1 = [dictionary objectForKey:subStr1]; NSString *chinese1 = [NSString stringWithFormat:@"十%@",a1]; return chinese1; } }else{ NSMutableArray *sums = [NSMutableArray array]; for (int i = 0; i < arabicNumStr.length; i ++) { NSString *substr = [arabicNumStr substringWithRange:NSMakeRange(i, 1)]; NSString *a = [dictionary objectForKey:substr]; NSString *b = digits[arabicNumStr.length -i-1]; NSString *sum = [a stringByAppendingString:b]; if ([a isEqualToString:chineseNumeralsArray[9]]) { if([b isEqualToString:digits[4]] || [b isEqualToString:digits[8]]) { sum = b; if ([[sums lastObject] isEqualToString:chineseNumeralsArray[9]]) { [sums removeLastObject]; } }else { sum = chineseNumeralsArray[9]; } if ([[sums lastObject] isEqualToString:sum]) { continue; } } [sums addObject:sum]; } NSString *sumStr = [sums componentsJoinedByString:@""]; NSString *chinese = [sumStr substringToIndex:sumStr.length-1]; return chinese; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u013457022/article/details/48002065