- 浏览: 1273553 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (608)
- 数据结构 (2)
- AJAX (3)
- 设计模式 (3)
- java (117)
- js (14)
- css (9)
- jsp (10)
- 杂文 (49)
- htmlparser (6)
- 数据库 (29)
- 算法 (14)
- 数据挖掘 (11)
- 电脑杂症 (12)
- 网络爬虫 (7)
- 应用服务器 (9)
- PHP (2)
- C# (14)
- 测试 (3)
- WEB高性能开发 (3)
- swt (1)
- 搜索引擎 (16)
- HttpClient (4)
- Lite (1)
- EXT (1)
- python (1)
- lucene (4)
- sphinx (9)
- Xapian (0)
- linux (44)
- 问题归类 (1)
- Android (6)
- ubuntu (7)
- SEO (18)
- 数学 (0)
- 农业资讯 (12)
- 游戏 (3)
- nginx (1)
- TeamViewer (1)
- swing (1)
- Web前 端 (1)
- 主页 (0)
- 阿萨德发首发身份 (0)
- 软件设计师 (0)
- hibernate (5)
- spring3.0 (5)
- elastic (1)
- SSH (3)
- ff (0)
- oracle 10g (9)
- 神经网络 (1)
- struts2.0 (2)
- maven (1)
- nexus (1)
- 辅助工具 (3)
- Shiro (1)
- 联通项目 (0)
- 2014年专业选择 (0)
- freemarker (1)
- struts1.2 (8)
- adfasdfasfasf (0)
- TortoiseSVN (1)
- jstl (1)
- jquery (1)
- eclipse plugin (0)
- 游戏外挂 (1)
- 推广 (0)
- 按键精灵 (1)
- ibatis3.0 (1)
最新评论
-
水野哲也:
不不不, 这个您真错了!其实是你引用的那个jsp和本身的jsp ...
解析关于jsp页面指令冲突问题contentType="text/html;charset=UTF-8" -
caobo_cb:
import xx.cn.weibo.Util;
[ java版]新浪微博之ruquest_token篇 -
caobo_cb:
你好 Util包没有
[ java版]新浪微博之ruquest_token篇 -
小桔子:
你好!我遇到个问题 max_allowed_packet值总是 ...
mysql查询占用内存,优化的技巧 -
donghustone:
谢谢大神!
用JSmooth制作java jar文件的可执行exe文件教程(图文)
/** * @author loiy * www.agrilink.cn * 2012.11.30 */ import java.util.Hashtable; public class DigitUtil { /** * 汉字中的数字字符 */ private static final Character[] SCDigits = {'零','一','二','三','四','五','六','七','八','九'}; /** * 阿拉伯数字 */ private static final Character[] araDigits = {'0','1','2','3','4','5','6','7','8','9'}; /** * 阿拉伯数字 */ private static Hashtable<Character, Character> araHash = new Hashtable<Character, Character>(); /** * 阿拉伯数字 */ private static Hashtable<Character, Integer> YWQBSHash = new Hashtable<Character, Integer>(); static { for (int i = 0; i < SCDigits.length; i++) { araHash.put(SCDigits[i], araDigits[i]); } YWQBSHash.put('亿', 100000000); YWQBSHash.put('万', 10000); YWQBSHash.put('千', 1000); YWQBSHash.put('百', 100); YWQBSHash.put('十', 10); } /** * @param remain 剩下多少个字符 * @param curchar 当前分析的字符 */ private static int ywqbs(int num, Boolean bool, int no, int remain, char curchar, char lastshow) { if(num == 0) { num += no; return num; } else { String numString = String.valueOf(num); // 将num转换成String String last = numString.substring(numString.length() - 1, numString.length()); // 获取最后一个字符 String exceptlast = numString.substring(0, numString.length() - 1); // 获取除了最后一个字符所有字符串 if(exceptlast.length() == 0) { // 说明num是个位值 num = Integer.parseInt(last) * no; return num; } else { /***** 针对有连续的这些字符[十百千万亿] start *****/ if(bool && YWQBSHash.get(curchar) > YWQBSHash.get(lastshow)) { // 说明上个字符属于[十百千万亿] num *= no; return num; } /***** 针对有连续的这些字符[十百千万亿] end *****/ /***** 分析到最后一个字符 start *****/ /**** 针对这种情况(一千二百二十一万) ****/ if(remain == 1 && YWQBSHash.get(curchar) > YWQBSHash.get(lastshow)) { num *= YWQBSHash.get(curchar); return num; } /**** 针对这种情况(一千二百二十一万) ****/ /***** 分析到最后一个字符 end *****/ /***** last如果为0 start *****/ if(last.equals("0")) { // 循环到最后一位字符,last等于0 last = "1"; // } /***** last如果为0 end *****/ exceptlast = exceptlast + "0"; // 缺少最后一位,需要补上 num = Integer.parseInt(exceptlast) + Integer.parseInt(last) * no; return num; } } } public static int parse(String word) { int num = 0; char lastchar = '一'; // 上次字符,字符特指[十百千万亿],默认随便填写一个'一' char lastshow = '一'; // 上次出现的字符,字符特指[十百千万亿],默认随便填写一个'一' char[] ch = word.toCharArray(); Boolean bool = false; // 是否连续出现[十百千万亿] for(int i = 0; i < ch.length; i++) { Character find = araHash.get(ch[i]); if(find != null) { num += Integer.parseInt(String.valueOf(find.charValue())); bool = false; lastchar = '一'; // 恢复到默认值 continue; } else if(ch[i] == '十') { num = ywqbs(num, bool, 10, ch.length - i, ch[i], lastshow); bool = true; lastchar = '十'; lastshow = '十'; }else if(ch[i] == '千') { num = ywqbs(num, bool, 1000, ch.length - i, ch[i], lastshow); bool = true; lastchar = '千'; lastshow = '千'; } else if(ch[i] == '百') { num = ywqbs(num, bool, 100, ch.length - i, ch[i], lastshow); bool = true; lastchar = '百'; lastshow = '百'; } else if(ch[i] == '万') { num = ywqbs(num, bool, 10000, ch.length - i, ch[i], lastshow); bool = true; lastchar = '万'; lastshow = '万'; } } ch = null; return num; } public static void main(String args[]) { String wordes[] = { "一千二百二十一万", "一千二百二十一", "一千零十", "一万零一百", "一千零十一", "一万零一百十一", "一千二百十九", "一千万" }; for(int i = 0; i < wordes.length; i++) { DigitUtil t = new DigitUtil(); int num = t.parse(wordes[i]); System.out.println(wordes[i] + " " + num); } } }
转载请注明来处:http://www.agrilink.cn
发表评论
-
tomcat was unable to start within 45 seconds
2013-11-11 15:59 838原因一: -
Apache Commons Lang
2013-10-15 12:10 3165ArrayUtils public class Tes ... -
htmlunit form
2013-06-25 11:13 925Form提交 对于WEB应用,有着大量的表单,所以Html ... -
QQ微博登录步骤
2013-05-28 12:14 0QQ微博登录步骤: 1、验证帐号时,会访问一个地址。如下: ... -
jsoup
2013-05-22 23:37 1142import org.jsoup.Jsoup; import ... -
java 加密解密
2013-05-21 23:00 844import java.security.InvalidKey ... -
freemarket 对象应用篇(一)
2013-05-19 18:18 1043freemarket应用. 1.1:创建web工程testF ... -
标记:伪原创标题思路
2012-01-11 16:34 1290采用填词的办法进行伪 ... -
用JSmooth制作java jar文件的可执行exe文件教程(图文)
2012-01-05 01:09 8183下载完程序之后,运行 jsmoothgen.exe 1.进入“ ... -
多线程 Java.util.ConcurrentModificationException异常
2011-12-29 13:43 1525Iterator<Entry<String,B ... -
java 反序列化 抛出EOFException
2011-12-19 17:21 2253抛出这样的异常,一般情况下,是因为业务逻辑的问题。 如: 在没 ... -
一键安装双击运行——Java安装程序制作
2011-12-09 02:39 1330对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户 ... -
只针对中英文混合分词的中文分词器
2011-12-02 17:28 4872该版本说明 1、只针对中英文混合分词 需要一些中文和英文连在 ... -
Java开源运行分析工具
2011-11-15 15:10 1886FProfiler FProfiler是一个非常快的Java ... -
cwss 按照指定的字符进行切词
2011-11-15 09:37 1222cwss 按照指定的字符进行切词 在 Utility.SEPE ... -
cwss bug 修复
2011-11-07 09:50 890修复的BUG有如下: 1、当只有中文、字母和数字,没有任何其他 ... -
java 怎么读取细胞词库scel
2011-10-24 14:28 3116private void sogou(String pa ... -
今天遇到一个奇怪的问题
2011-04-28 11:55 1187想实现一个用户访问页面,得到用户的外网地址 在公司上。程序是没 ... -
在myeclipse6.5下统一全部JSP编码更改
2011-04-07 14:47 1464在平时我们新建一个JSP页面默认编码是"ISO885 ... -
pushlet 资料
2011-03-21 19:03 989标记一下!
相关推荐
在IT领域,中文数字转换阿拉伯数字是一个常见的编程需求,尤其在中国的文化背景下,有时需要将中文表述的数字转化为阿拉伯数字用于计算或数据处理。这个任务涉及到自然语言处理(NLP)和字符串处理技术,通常通过...
这个场景下,我们有一个名为“中文数字转成阿拉伯数字 java 实现”的压缩包,包含了一个实现此功能的Java包和一个单元测试类。下面我们将深入探讨这个功能的实现及其相关知识点。 首先,我们要理解中文数字和阿拉伯...
在编程领域,中文数字转化成阿拉伯数字是一项常见的需求,特别是在处理中文文本数据时。C#是一种广泛使用的面向对象的编程语言,它提供了丰富的库和工具来处理字符串和文本转换。本篇文章将深入探讨如何在C#中实现...
将一段字符串中的中文数字转换为阿拉伯数字,也可将阿拉伯数字转换为中文数字
改代码支持将中文数字转换为阿拉伯数字,转换的范围到999为止,并且只能转换简单整数
在本案例中,我们关注的是C语言和Lua语言之间中文数字(语音数字)与阿拉伯数字的互转。这两种语言各有其特点,C语言是一种底层、高效的语言,常用于系统编程和嵌入式开发;而Lua则是一种轻量级的脚本语言,常用于...
- **单个汉字数字**:每个汉字对应一个阿拉伯数字,例如,“一”=1,“二”=2,“三”=3,直至“十”=10。 - **组合数字**:两个或更多汉字组成的数字,如“十一”=11,“十二”=12,需要理解其组合含义。 - **...
输入万亿以下汉字数,可变为相应阿拉伯数字,附易语言源码,例如:五百八十万四千六百五十五对应为5804655
汉语大写数字转换成阿拉伯数字。支持如下转换 '一千二百二十一万九千三百五十七亿一千二百二十一万九千零五十七', '一千二百二十一', '一千零十', '一万零一百', '一千零十一', '一万零一百十一', '一千二百...
这个工具对于处理中文数字和阿拉伯数字之间的转换问题非常实用,尤其在需要处理大量中文文本或进行数据格式化时。 首先,我们要理解汉语数字和阿拉伯数字的区别。汉语数字是以汉字形式表示数字,如"一"代表1,"二...
java实现阿拉伯数字 转换为 汉字数字 算法
阿拉伯数字有10个基本符号(0-9),而中文小写数字也有对应的十个汉字(零、一、二、三、四、五、六、七、八、九)。我们可以通过创建一个映射表来存储这种对应关系,例如: ```java Map, String> numMap = new ...
mysql oracle 阿拉伯数字转中文数字, 亲测可用.找了很长时间才找到,
为便于操作,我使用Excel的Vbscrip功能编写了一个汉字转拼音(全拼)、中文数字转阿拉伯数字、谐音数字转阿拉伯数字的代码。 谐音转数字这个所涉及的字典太多,目前暂只考虑了0和字母o、零、琳、您转0的字典,其他...
实现阿拉伯数字与中文数字转换的C程序代码
在编程领域,尤其是在Visual Basic(VB)环境中,有时我们需要处理数字格式化的需求,例如将阿拉伯数字转换为中文数字。这通常在财务、会计或者文化相关的软件应用中出现,因为中文数字在某些场合下更符合人们的阅读...
把阿拉伯数字转为汉字写法比如123456789转化为零壹贰叁肆伍陆柒捌玖,以及几百几千几万的数字都可以转化