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;

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 原文 在這里總結一些iOS開發中的小技巧,能大大方便我們的開發,持續更新。 1.UITableView的Group...
    無灃閱讀 794評論 0 2
  • 在這里總結一些iOS開發中的小技巧,能大大方便我們的開發 原文地址:http://www.lxweimin.com/...
    Marray閱讀 340評論 0 0
  • 在這里總結一些iOS開發中的小技巧,能大大方便我們的開發,持續更新。 UITableView的Group樣式下頂部...
    UI愛好者閱讀 532評論 0 0
  • UITableView的Group樣式下頂部空白處理 //分組列表頭部空白處理UIView*view = [[UI...
    莫離_焱閱讀 433評論 0 0
  • 在這里總結一些iOS開發中的小技巧,能大大方便我們的開發,持續更新。 UITableView的Group樣式下頂部...
    管你愛不愛閱讀 432評論 0 1