文档章节

阿拉伯数字转换中文

Jone_liu
 Jone_liu
发布于 2015/12/07 14:29
字数 196
阅读 15
收藏 0

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

}

inese;

}


© 著作权归作者所有

共有 人打赏支持
Jone_liu
粉丝 0
博文 1
码字总数 196
作品 0
深圳
程序员
java如何替换字符串中大写中文数字为阿拉伯数字?

我有几个字符串,如 我有十块钱,你有二十三块钱,他有二元钱。我想转换成 “我有10块钱,你有23块钱,他有2元钱。”,请问如何转换,也就是如何把字符串中大写中文数字转换成阿拉伯数字。大...

jbas
2014/05/06
3.7K
8
jcseg-1.9.4 发布 - Java轻量级开源中文分词器-检测模式切分

Jcseg[dʒɛ'ke'sɛ]是使用Java开发的一个开源中文分词器,使用流行的mmseg算法实现,并且提供了最高版本的lucene-4.x和最高版本solr-4.x的分词接口. 1.9.3发布已经是三个月前的事情了,感叹...

狮子的魂
2014/06/09
1K
8
LeetCode:Integer to Roman - 阿拉伯数字到罗马数字的转换

1、题目名称 Integer to Roman (阿拉伯数字到罗马数字的转换) 2、题目地址 https://leetcode.com/problems/integer-to-roman 3、题目内容 英文:Given an integer, convert it to a roman...

北风其凉
2015/08/02
0
0
jcseg中10以内的中文数字该如何设置直接转换成阿拉伯数字

@狮子的魂 你好,想跟你请教个问题:我是将jar引入myeclipse使用的.也引入了lex-main.lex,目前10以上的中文数字都可以直接转换成阿拉伯数字,但是10以内的不会自动转,请问该用什么方式实现呢...

竹竿先生
2016/11/03
102
2
Java 开源中文分词器--Jcseg

Jcseg 是什么? Jcseg 是基于 mmseg 算法的一个轻量级开源中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了最新版本的 lucene, solr, elasti...

狮子的魂
2012/10/19
35.8K
29

没有更多内容

加载失败,请刷新页面

加载更多

下一页

这些Spring中的设计模式,你都知道吗?

设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。 Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行...

Java填坑之路
21分钟前
1
0
Spring Aop原理之Advisor过滤

在上文(Spring Aop之Advisor解析)中我们讲到,Spring Aop对目标bean的代理主要分为三个步骤:获取所有的Advisor,过滤当前bean可应用的Advisor和使用Advisor为当前bean生成代理对象,并且上文...

爱宝贝丶
32分钟前
0
0
JMockit学习教程

1 JMockit中文网 我觉得如果仅仅是开发自测的话,把JMockit中文网认真看一遍,就可以在项目中使用JMockit了。 http://jmockit.cn/index.htm 2 JMockit中文教程 官方文档中文版。对于不喜欢看...

SuperHeroes
43分钟前
0
0
Linux服务器几乎从不采用Arch Linux?

我们见得多的Linux服务器系统一般都是什么Ubuntu Server啊,什么Cent OS啊,什么Fedora啊,或者企业采用的Red Hat啊,为什么几乎没有Arch Linux呢?下面我将从若干个方面指出Arch Linux在服务...

linux-tao
55分钟前
0
0
js 函数柯里化 闭包

参考 https://mp.weixin.qq.com/s/GEHL3jarDdAAcr5tQGjmDg 一个统计求和的函数 需要知道整个数组的信息,然后遍历求值 function countMoney() { let money = 0 // 温馨提示:arguments...

阿豪boy
57分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部