OC 将汉语数字转换成阿拉伯数字
来源:互联网 发布:java 超级打码 编辑:程序博客网 时间:2024/06/01 08:49
如果给一个-99999……99999的汉语数字,如何将其转换成我们熟悉的阿拉伯数字?比如“一千一百一十一”怎么变成我们常见的1111,再比如“负九千零九”怎么变成-9009?下面我写的一个方法,就可以简单的实现这个功能
- (NSString *)arabicNumberalsFromChineseNumberals:(NSString *)arabic{
NSMutableDictionary * mdic =[[NSMutableDictionaryalloc]init];
[mdic setObject:[NSNumbernumberWithInt:10000]forKey:@"万"];
[mdic setObject:[NSNumbernumberWithInt:1000]forKey:@"千"];
[mdic setObject:[NSNumbernumberWithInt:100]forKey:@"百"];
[mdic setObject:[NSNumbernumberWithInt:10]forKey:@"十"];
[mdic setObject:[NSNumbernumberWithInt:9]forKey:@"九"];
[mdic setObject:[NSNumbernumberWithInt:8]forKey:@"八"];
[mdic setObject:[NSNumbernumberWithInt:7]forKey:@"七"];
[mdic setObject:[NSNumbernumberWithInt:6]forKey:@"六"];
[mdic setObject:[NSNumbernumberWithInt:5]forKey:@"五"];
[mdic setObject:[NSNumbernumberWithInt:4]forKey:@"四"];
[mdic setObject:[NSNumbernumberWithInt:3]forKey:@"三"];
[mdic setObject:[NSNumbernumberWithInt:2]forKey:@"二"];
[mdic setObject:[NSNumbernumberWithInt:2]forKey:@"两"];
[mdic setObject:[NSNumbernumberWithInt:1]forKey:@"一"];
[mdic setObject:[NSNumbernumberWithInt:0]forKey:@"零"];
// NSLog(@"%@",mdic);
BOOL flag=YES;//yes表示正数,no表示负数
NSString * s=[arabicsubstringWithRange:NSMakeRange(0,1)];
if([sisEqualToString:@"负"]){
flag=NO;
}
int i=0;
if(!flag){
i=1;
}
int sum=0;//和
int num[20];//保存单个汉字信息数组
for(int i=0;i<20;i++){//将其全部赋值为0
num[i]=0;
}
int k=0;//用来记录数据的个数
//如果是负数,正常的数据从第二个汉字开始,否则从第一个开始
for(;i<[arabic length];i++){
NSString * key=[arabic substringWithRange:NSMakeRange(i, 1)];
int tmp=[[mdic valueForKey:key] intValue];
num[k++]=tmp;
}
//将获得的所有数据进行拼装
for(int i=0;i<k;i++){
if(num[i]<10&&num[i+1]>=10){
sum+=num[i]*num[i+1];
i++;
}else{
sum+=num[i];
}
}
NSMutableString * result=[[NSMutableStringalloc]init];;
if(flag){//如果正数
NSLog(@"%d",sum);
result=[NSMutableString stringWithFormat:@"%d",sum];
}else{//如果负数
NSLog(@"-%d",sum);
result=[NSMutableString stringWithFormat:@"-%d",sum];
}
return result;
}
最后如果数据超出题目最开始的范围,具体怎么处理,我还没有考虑清楚,如果哪位大神能帮我把这个方法超过十万以上的功能不全,感激不尽……
- OC 将汉语数字转换成阿拉伯数字
- 如何将汉语数字转换成阿拉伯数字!
- 阿拉伯数字转换成汉语数字
- 将包含在语境中的汉语数字转换为阿拉伯数字
- 将汉字数字转换成阿拉伯数字
- 将中文数字转换成阿拉伯数字
- 数字转换工具类:将阿拉伯数字转换成中文
- OC 英语转换成汉语
- Java编程案例-将阿拉伯数字转换成中文数字
- 将字符串中的中文数字转换成阿拉伯数字
- 将一组阿拉伯数字转换成中文大写数字
- Python将汉字数字转换成阿拉伯数字的方法
- 阿拉伯数字转换为汉语表达方式
- 将阿拉伯数字转换为汉字数字
- 将阿拉伯数字转换为中文数字
- java将阿拉伯数字转换为中文数字
- java将阿拉伯数字转换为中文数字
- IOS,将阿拉伯数字转换为中文数字
- 深挖BAT内部级别和薪资待遇,你敢看?
- python爬虫2
- 简单多图片上传 jquery+java 代码
- hdu5371 Hotaru's problem manachar回文串算法+枚举
- 黑马程序员——java复习总结——集合框架
- OC 将汉语数字转换成阿拉伯数字
- HDU 5387 Clock
- KMP算法详解
- uboot移植i2c
- 二叉查找树的java实现
- html与css经典二级菜单编写1
- 深入JavaScript(5)强大的原型和原型链
- AngularJS 表单验证
- hdu1494 - 跑跑卡丁车 (01背包)