当前位置: 首页 > news >正文

数字转化为汉字,如5-五

//数字转化为汉字 如5-->五
-(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];
    YTLog(@"%@ to %@",str,chinese);
    return chinese;
}

转载于:https://www.cnblogs.com/chaicla-ios/p/6782217.html

相关文章:

  • 用Thread做点自动化的事
  • 201521123042 《Java程序设计》 第10周学习总结
  • Mysql全文索引
  • 如何不用组件实现Ajax效果
  • SQL Server中关于基数估计如何计算预估行数的一些探讨
  • NodeJS安装第一个工程.
  • 丢失了'LINQ to SQL类’模板怎么办?
  • Linq O/R设计器的使用
  • 【linux】之内核升级
  • Tomcat端口被占用解决方法
  • SQL Server 不能创建数据库了,发生错误:1807 未能获得数据库 'model' 上的排它锁。请稍后重试操作。...
  • Linux中如何配置sudo用户
  • Drop it(去除元素)
  • 杂记
  • 在DataGridView_DragDrop事件中,确定DataGridView的单元格的位置
  • 收藏网友的 源程序下载网
  • 「译」Node.js Streams 基础
  • 【翻译】babel对TC39装饰器草案的实现
  • 230. Kth Smallest Element in a BST
  • 78. Subsets
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • IDEA 插件开发入门教程
  • java8 Stream Pipelines 浅析
  • JavaScript实现分页效果
  • js递归,无限分级树形折叠菜单
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • OSS Web直传 (文件图片)
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Swoft 源码剖析 - 代码自动更新机制
  • 安装python包到指定虚拟环境
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端路由实现-history
  • 如何利用MongoDB打造TOP榜小程序
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 手写双向链表LinkedList的几个常用功能
  • 算法-插入排序
  • 通过git安装npm私有模块
  • 移动端唤起键盘时取消position:fixed定位
  • FaaS 的简单实践
  • PostgreSQL之连接数修改
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #《AI中文版》V3 第 1 章 概述
  • #stm32驱动外设模块总结w5500模块
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (Oracle)SQL优化技巧(一):分页查询
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (一)Java算法:二分查找
  • (原創) 物件導向與老子思想 (OO)
  • (转)Windows2003安全设置/维护
  • .NET 8.0 发布到 IIS