前言

这两天对接阿里云的人工智能语音(一句话识别),语音识别度很高,但发现一个问题—–> 语音录入数字,总是识别汉语数字,那么久需要进行相互转化了。

阿拉伯数字转化为汉语数字

+(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(@"%@",str);NSLog(@"%@",chinese);return chinese;
}

汉语数字转阿拉伯数字

+(NSString *)translatNum:(NSString *)arebic{NSString *str = arebic;NSArray *arabic_numerals = @[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0",@"0"];NSArray *chinese_numerals = @[@"一",@"二",@"三",@"四",@"五",@"六",@"七",@"八",@"九",@"零", @"十"];NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:arabic_numerals forKeys:chinese_numerals];NSMutableArray *sums = [NSMutableArray array];for (int i = 0; i < str.length; i ++) {NSString *substr = [str substringWithRange:NSMakeRange(i, 1)];NSString *sum = substr;if([chinese_numerals containsObject:substr]){NSLog(@"=====%@", substr);if([substr isEqualToString:@"十"] && i < str.length){NSString *nextStr = [str substringWithRange:NSMakeRange(i+1, 1)];NSLog(@"-----%@", nextStr);if([chinese_numerals containsObject:nextStr]){continue;}}sum = [dictionary objectForKey:substr];}NSLog(@"====%@", sum);[sums addObject:sum];}NSString *sumStr = [sums  componentsJoinedByString:@""];return sumStr;}

iOS 汉语数字与阿拉伯数字的相互转化相关推荐

  1. 汉语数字或罗马数字转化为阿拉伯数字:例如:一百二十三为123、III为3

    汉语数字转化为阿拉伯数字 方式一:得到结果集然后进行遍历 运行结果展示 方式二:结果集一直变化中 运行结果展示 罗马数字转化为阿拉伯数字 运行结果展示 方式一:得到结果集然后进行遍历 public s ...

  2. 如何将汉语数字转换成阿拉伯数字!

    其实这个题目本身都还有点问题.汉语数字的表达方式何止一两种,而且还有很多不规范的称呼.所以,转换起来也是比较麻烦的.并且由于每个人的叫法不同,因此也不容易判定用户的输入是否合符常理和规范.这就只能靠大 ...

  3. java中文数字与阿拉伯数字相互转换

    最近有一个业务需要用到中文数字与阿拉伯数字相互转换,废话不多说直接上代码. 中文数字/阿拉伯数字互转第一次完善:https://blog.csdn.net/qq_26896085/article/de ...

  4. PHP将英文数字转换为阿拉伯数字 

    PHP将英文数字转换为阿拉伯数字,如zero;three;five;six;eight;one转换为035681.那么我们可以通过PHP中explode().trim()函数.foreach以及Swi ...

  5. php判断是否为数字_PHP将英文数字转换为阿拉伯数字

    PHP将英文数字转换为阿拉伯数字,如zero;three;five;six;eight;one转换为035681.那么我们可以通过PHP中explode().trim()函数.foreach以及Swi ...

  6. python数字转中文字符_Python实现中文数字转换为阿拉伯数字的方法示例

    本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...

  7. python数字转换_Python实现中文数字转换为阿拉伯数字的方法示例

    本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...

  8. 中文数字与阿拉伯数字转换(Python)

    cn2an 是一个快速转化 中文数字 和 阿拉伯数字 的工具包 相关链接 cn2an工具包Github地址 在线测试平台 install git clone https://github.com/Ai ...

  9. android数字转汉字,【原创】最精简的中文数字和阿拉伯数字互相转换函数

    public class ChineseNumUtils { /** * 中文数字转阿拉伯数字 * (长度不能超过long最大值) * * @param chNum 中文数字 * @return 阿拉 ...

  10. CSS 仿 iOS 系统通知数字样式

    iOS 的图标上显示通知的数字: 下面代码就是用 CSS 模仿数字的样式: /*********************************************************/ /* ...

最新文章

  1. 6.7 程序示例--K-Means-机器学习笔记-斯坦福吴恩达教授
  2. sql server 部署_将程序包部署到SQL Server集成服务目录(SSISDB)
  3. js数组去重的4个方法
  4. qchart 怎么点击一下 出一条线_疏通身上一条线,很多难缠病,不知不觉消失了!...
  5. 利用Excel进行简单线性规划求解
  6. python ctype_Python中用ctype库
  7. 如何看懂congestion map
  8. Linux-07-GNU-GPL-自由软件知识小结(L002-21)
  9. HDU1870 愚人节的礼物【堆栈+输入输出】
  10. [转] 教师的备课主要解决哪些问题?
  11. 100个python算法超详细讲解:搬山游戏
  12. PHP脚本中的两种换行符的区别
  13. 啥是单点登录及单点登录原理
  14. 【折半搜索-经典题目】中山纪念中学暑期游Day13——【GDOI2017模拟8.15】Buy
  15. STM32处理器定时器分析(实现一个定时中断)
  16. dcc-garch matlab,dcc-garch原理简介和模型实现
  17. 单片机:c语言实现秒表计数(按键开始,结束,重置)
  18. 高校毕业生如何实现“云端”就业
  19. 简单的CTF web密码爆破
  20. 第十四届蓝桥杯三月真题刷题训练——第 26 天

热门文章

  1. 批量修改图片尺寸,不用ps也可以
  2. 今天来看一下云测平台的测试实验
  3. windows powershell 将U盘启动盘还原回普通U盘
  4. lcd驱动移植的分析linux3.2内核,chipsee为例,液晶屏AT070TN92
  5. 互联网日报 | 5月26日 星期三 | 华为鸿蒙操作系统6月2日发布;特斯拉已在中国建立数据中心;百度发起“高考+”计划...
  6. 网站域名如何接入腾讯云CDN业务详细步骤!
  7. u盘安全删除 linux,如何安全删除U盘技巧
  8. dns劫持以及利用Linux在20ms内只返回50次ping无法链接的漏洞
  9. 单因素方差分析 OR 重复测量方差分析
  10. IDEA——一个项目启动多个服务