文档章节

阿拉伯数字转换中文

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
4.2K
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
179
2
每年总有那么几天

每年总有那么几天要和“中文计算器”较劲:2011年6月的某一天,我在OSChina上发布了JS版的“数字转中文”算法实现(http://www.oschina.net/code/snippet_58387_4762);2012年9月的某一天,...

redraiment
2014/09/10
650
9

没有更多内容

加载失败,请刷新页面

加载更多

聊聊flink的FsStateBackend

序 本文主要研究一下flink的FsStateBackend StateBackend flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/StateBackend.java @PublicEvolvingpublic interface Sta......

go4it
10分钟前
0
0
webpack配置proxyTable时pathRewrite无效的解决方法

webpack配置接口地址代理 在项目开发中,接口联调的时候一般都是同域名下,且不存在跨域的情况下进行接口联调,但是当我们在本地启动服务器后,比如本地开发服务下是 http://localhost:8080 ...

前端小攻略
11分钟前
0
0
安装jenkins

1.下载 wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.155/jenkins.war 2.后续操作和 dubbo 安装类似: (1)复制一份空白的tomcat,重命名为:jenkins-tomcat (2)war包放入t...

狼王黄师傅
19分钟前
1
0
zookeeper配置与使用

一.登录官网下载 不要带后缀的,那是公侧版本,下稳定版,比如3.4.9 二.安装与使用 解压后bin里是启动程序 配置文件:在conf下 复制zoo_sample.cfg改名为为zoo.cfg,打开zoo修改文件...

小兵胖胖
43分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部