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