- 浏览: 1243162 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 796原因一: -
Apache Commons Lang
2013-10-15 12:10 3127ArrayUtils public class Tes ... -
htmlunit form
2013-06-25 11:13 885Form提交 对于WEB应用,有着大量的表单,所以Html ... -
QQ微博登录步骤
2013-05-28 12:14 0QQ微博登录步骤: 1、验证帐号时,会访问一个地址。如下: ... -
jsoup
2013-05-22 23:37 1102import org.jsoup.Jsoup; import ... -
java 加密解密
2013-05-21 23:00 798import java.security.InvalidKey ... -
freemarket 对象应用篇(一)
2013-05-19 18:18 966freemarket应用. 1.1:创建web工程testF ... -
标记:伪原创标题思路
2012-01-11 16:34 1248采用填词的办法进行伪 ... -
用JSmooth制作java jar文件的可执行exe文件教程(图文)
2012-01-05 01:09 8094下载完程序之后,运行 jsmoothgen.exe 1.进入“ ... -
多线程 Java.util.ConcurrentModificationException异常
2011-12-29 13:43 1474Iterator<Entry<String,B ... -
java 反序列化 抛出EOFException
2011-12-19 17:21 2207抛出这样的异常,一般情况下,是因为业务逻辑的问题。 如: 在没 ... -
一键安装双击运行——Java安装程序制作
2011-12-09 02:39 1294对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户 ... -
只针对中英文混合分词的中文分词器
2011-12-02 17:28 4815该版本说明 1、只针对中英文混合分词 需要一些中文和英文连在 ... -
Java开源运行分析工具
2011-11-15 15:10 1839FProfiler FProfiler是一个非常快的Java ... -
cwss 按照指定的字符进行切词
2011-11-15 09:37 1137cwss 按照指定的字符进行切词 在 Utility.SEPE ... -
cwss bug 修复
2011-11-07 09:50 833修复的BUG有如下: 1、当只有中文、字母和数字,没有任何其他 ... -
java 怎么读取细胞词库scel
2011-10-24 14:28 3060private void sogou(String pa ... -
今天遇到一个奇怪的问题
2011-04-28 11:55 1140想实现一个用户访问页面,得到用户的外网地址 在公司上。程序是没 ... -
在myeclipse6.5下统一全部JSP编码更改
2011-04-07 14:47 1421在平时我们新建一个JSP页面默认编码是"ISO885 ... -
pushlet 资料
2011-03-21 19:03 946标记一下!
相关推荐
这是一个数字转换代码,如果输入壹仟叁佰,输出1300,最多可以输出二十位数字。
独立开发,实测可用, 将阿拉伯和中文数字组合的字符串转成阿拉伯数字的整型 包。例如: “八万三千20”就可以转成整型 803020 。解压后,引用包。调用方法 在UnitTest.java 中有
中文数字转换阿拉伯数字
改代码支持将中文数字转换为阿拉伯数字,转换的范围到999为止,并且只能转换简单整数
输入万亿以下汉字数,可变为相应阿拉伯数字,附易语言源码,例如:五百八十万四千六百五十五对应为5804655
汉语大写数字转换成阿拉伯数字。支持如下转换 '一千二百二十一万九千三百五十七亿一千二百二十一万九千零五十七', '一千二百二十一', '一千零十', '一万零一百', '一千零十一', '一万零一百十一', '一千二百...
c语言和lua语言的中文数字(语音数字)到阿拉伯数字相互转换函数
中文数字转化成阿拉伯数字 C# 实现 数字转化 希望能给大家一些帮助
java实现阿拉伯数字 转换为 汉字数字 算法
本人用c写的完成汉语数字串与阿拉伯数字串间转换的一个小工具,完全基于串操作,不需要经过中间数值表示,原则上可以对任意长数字串进行转换,附带汉语数字串的大小写转换功能。
网上找的,原来的不匹配“十三”这样的数字,必须要加一个“一十三”才可以 原来代码都没动,就改了两行。还是人家是大神。 不好找这样的代码,所以分享给大家。
在android中,有时候会被要求讲阿拉伯数字转换为中文数字,例如书籍的页码。这里特地优化了转换过程
为便于操作,我使用Excel的Vbscrip功能编写了一个汉字转拼音(全拼)、中文数字转阿拉伯数字、谐音数字转阿拉伯数字的代码。 谐音转数字这个所涉及的字典太多,目前暂只考虑了0和字母o、零、琳、您转0的字典,其他...
实现阿拉伯数字与中文数字转换的C程序代码
mysql oracle 阿拉伯数字转中文数字, 亲测可用.找了很长时间才找到,
把阿拉伯数字转为汉字写法比如123456789转化为零壹贰叁肆伍陆柒捌玖,以及几百几千几万的数字都可以转化
不满意现有的阿拉伯数字转中文数字代码的效果,自己写了一个更加地道的代码,将如“一十一”等处理成“十一”;最大处理16位数字,具体数位规则如下:16(千兆),15(百兆),14(十兆),13(兆),12(千亿),11(百亿),10...