文档章节

阿拉伯数字转换中文

Jone_liu
 Jone_liu
发布于 2015/12/07 14:29
字数 196
阅读 15
收藏 0
点赞 0
评论 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 ⋅ 8

jcseg-1.9.4 发布 - Java轻量级开源中文分词器-检测模式切分

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

狮子的魂 ⋅ 2014/06/09 ⋅ 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

jcseg中10以内的中文数字该如何设置直接转换成阿拉伯数字

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

竹竿先生 ⋅ 2016/11/03 ⋅ 2

Java 开源中文分词器--Jcseg

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

狮子的魂 ⋅ 2012/10/19 ⋅ 29

jcseg 1.7.0版发布了

jcseg 1.7.0版发发布了。 1。词库整合了《现代汉语词典》和cc-cedict词库的所有词条。 2。增加了词条的同义词功能。只要在词库词条中加入该词的同义词集合,在jcseg.properties中配置加载同义...

狮子的魂 ⋅ 2012/10/27 ⋅ 0

LeetCode:Roman to Integer - 罗马数字到阿拉伯数字的转换

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

北风其凉 ⋅ 2015/08/04 ⋅ 0

数字转中文

正在用java写一个阿拉伯数字转中文大写的算法,现遇到一个小学级别的疑惑,比如1009463,读作一百万零九千四百六十三还是一百万九千四百六十三? http://link.fobshanghai.com/rmb.htm 此人民...

BoXuan ⋅ 2017/09/06 ⋅ 3

C标准库参考指南系列译文(2)ctype.h

英文原文:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.2.html 原文作者:Eric Huss 中文译者:柳惊鸿 Poechant 版权声明:本文的原文版权归Eric Huss所有,中文译文版权归Poechant所...

晨曦之光 ⋅ 2012/04/24 ⋅ 0

来试试纯汉语中文的计算器~

计算器程序相信很多人都写过。不过通常都是基于阿拉伯数字的,比如输入 1+2+3,返回 6。 我刚刚实现了一个纯汉语中文的计算器,即输入 一加二加三,返回“六”。 程序是用 JS 实现的,大家可...

redraiment ⋅ 2012/10/20 ⋅ 15

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部