iOS數(shù)字轉文字


/**

*通過數(shù)字得到相應的文字

*

*@param arebic數(shù)字Str @"1234567890"

*

*@return文字對應的數(shù)字

*/

- (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;

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 原文 在這里總結一些iOS開發(fā)中的小技巧,能大大方便我們的開發(fā),持續(xù)更新。 1.UITableView的Group...
    無灃閱讀 851評論 0 2
  • 在這里總結一些iOS開發(fā)中的小技巧,能大大方便我們的開發(fā) 原文地址:http://www.itdecent.cn/...
    Marray閱讀 373評論 0 0
  • 在這里總結一些iOS開發(fā)中的小技巧,能大大方便我們的開發(fā),持續(xù)更新。 UITableView的Group樣式下頂部...
    UI愛好者閱讀 584評論 0 0
  • UITableView的Group樣式下頂部空白處理 //分組列表頭部空白處理UIView*view = [[UI...
    莫離_焱閱讀 488評論 0 0
  • 在這里總結一些iOS開發(fā)中的小技巧,能大大方便我們的開發(fā),持續(xù)更新。 UITableView的Group樣式下頂部...
    管你愛不愛閱讀 457評論 0 1

友情鏈接更多精彩內容