- 浏览: 101969 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (60)
- oracle (4)
- JAVA (12)
- js (2)
- tomcat (4)
- jdk (3)
- myeclipse (6)
- mysql (9)
- linux (6)
- hibernate (2)
- 解密 (1)
- 程序 (2)
- 故事 (1)
- html (2)
- xml (2)
- Jquery (3)
- ExtJs (1)
- IDE (2)
- JAVA Spring (0)
- Spring (1)
- JeasyUI (2)
- 验证 (1)
- HttpClient (1)
- php (2)
- apache (2)
- centos (4)
- kaptcha (1)
- SpringMVC (1)
- 验证码 (1)
- 网络 (1)
- 打印 (1)
最新评论
-
hy2012_campus:
总结的不错,顶一个
kaptcha 验证码组件结合springMVC示例 -
lirenhai2008:
感谢了。
PLSQL注册码,绝对能用!
public class ChinaNumber { private static String[] CH = { "", "", "拾", "佰", "仟", "万", "", "", "", "亿", "", "", "", "兆" }; private static String[] CHS_NUMBER={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; /** * 传入数字金额字符串,返回数字金额对应的中文大字与读法 * * @param money * 金额字符串 * @return 金额中文大写 */ public static String getCHSNumber(String money) { String chs = ""; String tmp_int = money.substring(0, money.indexOf(".")); String tmp_down = money.substring(money.indexOf(".") + 1, money.length()); char[] tmp_int_char = tmp_int.toCharArray(); String[] tmp_chs = new String[tmp_int_char.length]; int tab = 0; for (int i = 0; i < tmp_int_char.length; i++) { tab = tmp_int_char.length - i - 1; if (tmp_int_char.length <= 5) { tmp_chs[tab] = CHS_NUMBER[(int) Float.parseFloat(tmp_int_char[i] + ".0")]; if (!tmp_chs[tab].equals("零")) { // tmp_int_char.length - i 为数字所在的位数 chs = chs + tmp_chs[tab] + CH[tmp_int_char.length - i]; } else {// 当数字中有零时就在后加上零,如果超过1个以上的零也只加一个零 if (!chs.endsWith("零") && tab != 0) { chs = chs + tmp_chs[tab]; } else if (chs.endsWith("零") && tab == 0) { chs = chs.substring(0, chs.length() - 1); } } } // 如果数字的位数大于5和小于9时 if (tmp_int_char.length > 5 && tmp_int_char.length < 9) { tmp_chs[tab] = CHS_NUMBER[(int) Float.parseFloat(tmp_int_char[i] + ".0")]; // 如:123,1234分成两部分 // 第1部分123:万以上亿以下 if (tab >= 4) { // 当前数字不是大小零时 if (!tmp_chs[tab].equals("零")) { chs = chs + tmp_chs[tab] + CH[tab - 3]; // 当第1部分算完时在加上"万" if (tab == 4) { chs = chs + "万"; } } else { // 当前数字为大小"零"时 // 判断前一次形成在字符串结尾有没有零 // 如果没有零就加上零 if (!chs.endsWith("零")) { chs = chs + tmp_chs[tab]; } // 当第1部分算完时 if (tab == 4) { // 先判断字符串有没有零 // 如果有零时就把零去掉再加上"万" if (chs.endsWith("零")) { chs = chs.substring(0, chs.length() - 1); chs = chs + "万"; } else { // 如果没有零就直接加上"万" chs = chs + "万"; } } } } // 如:123,1234分成两部分 // 第1部分1234:万以下 if (tab < 4) { if (!tmp_chs[tab].equals("零")) { // tmp_int_char.length - i 为数字所在的位数 chs = chs + tmp_chs[tab] + CH[tmp_int_char.length - i]; } else {// 当数字中有零时就在后加上零,如果超过1个以上的零也只加一个零 if (!chs.endsWith("零") && tab != 0) { chs = chs + tmp_chs[tab]; } if (chs.endsWith("零") && tab == 0) { chs = chs.substring(0, chs.length() - 1); } } } } // 如果数字的位数大于5和小于9时 if (tmp_int_char.length >= 9 && tmp_int_char.length <= 12) { tmp_chs[tab] = CHS_NUMBER[(int) Float.parseFloat(tmp_int_char[i] + ".0")]; if (tab >= 8 && tab < 12) { // 当前数字不是大小零时 if (!tmp_chs[tab].equals("零")) { chs = chs + tmp_chs[tab] + CH[tab - 7]; // 当第1部分算完时在加上"万" if (tab == 8) { chs = chs + "亿"; } } else { // 当前数字为大小"零"时 // 判断前一次形成在字符串结尾有没有零 // 如果没有零就加上零 if (!chs.endsWith("零")) { chs = chs + tmp_chs[tab]; } // 当第1部分算完时 if (tab == 8) { // 先判断字符串有没有零 // 如果有零时就把零去掉再加上"万" if (chs.endsWith("零")) { chs = chs.substring(0, chs.length() - 1); chs = chs + "亿"; } else { // 如果没有零就直接加上"万" chs = chs + "亿"; } } } } // 如:123,1234分成两部分 // 第1部分123:万以上亿以下 if (tab >= 4 && tab < 8) { // 当前数字不是大小零时 if (!tmp_chs[tab].equals("零")) { chs = chs + tmp_chs[tab] + CH[tab - 3]; // 当第1部分算完时在加上"万" if (tab == 4) { chs = chs + "万"; } } else { // 当前数字为大小"零"时 // 判断前一次形成在字符串结尾有没有零 // 如果没有零就加上零 if (!chs.endsWith("零")) { chs = chs + tmp_chs[tab]; } // 当第1部分算完时 if (tab == 4) { // 先判断字符串有没有零 // 如果有零时就把零去掉再加上"万" if (chs.endsWith("零")) { chs = chs.substring(0, chs.length() - 1); if (!chs.endsWith("亿")) chs = chs + "万"; } else { // 如果没有零就直接加上"万" if (!chs.endsWith("亿")) chs = chs + "万"; } } } } // 如:123,1234分成两部分 // 第1部分1234:万以下 if (tab < 4) { if (!tmp_chs[tab].equals("零")) { // tmp_int_char.length - i 为数字所在的位数 chs = chs + tmp_chs[tab] + CH[tmp_int_char.length - i]; } else {// 当数字中有零时就在后加上零,如果超过1个以上的零也只加一个零 if (!chs.endsWith("零") && tab != 0) { chs = chs + tmp_chs[tab]; } if (chs.endsWith("零") && tab == 0) { chs = chs.substring(0, chs.length() - 1); } } } } // 如果数字的位数大于12和小于16时 if (tmp_int_char.length > 12 && tmp_int_char.length <= 16) { tmp_chs[tab] = CHS_NUMBER[(int) Float.parseFloat(tmp_int_char[i] + ".0")]; if (tab >= 12 && tab < 16) { // 当前数字不是大小零时 if (!tmp_chs[tab].equals("零")) { chs = chs + tmp_chs[tab] + CH[tab - 11]; // 当第1部分算完时在加上"万" if (tab == 12) { chs = chs + "兆"; } } else { // 当前数字为大小"零"时 // 判断前一次形成在字符串结尾有没有零 // 如果没有零就加上零 if (!chs.endsWith("零")) { chs = chs + tmp_chs[tab]; } // 当第1部分算完时 if (tab == 12) { // 先判断字符串有没有零 // 如果有零时就把零去掉再加上"万" if (chs.endsWith("零")) { chs = chs.substring(0, chs.length() - 1); chs = chs + "兆"; } else { // 如果没有零就直接加上"万" chs = chs + "兆"; } } } } if (tab >= 8 && tab < 12) { // 当前数字不是大小零时 if (!tmp_chs[tab].equals("零")) { chs = chs + tmp_chs[tab] + CH[tab - 7]; // 当第1部分算完时在加上"万" if (tab == 8) { chs = chs + "亿"; } } else { // 当前数字为大小"零"时 // 判断前一次形成在字符串结尾有没有零 // 如果没有零就加上零 if (!chs.endsWith("零")) { chs = chs + tmp_chs[tab]; } // 当第1部分算完时 if (tab == 8) { // 先判断字符串有没有零 // 如果有零时就把零去掉再加上"万" if (chs.endsWith("零")) { chs = chs.substring(0, chs.length() - 1); if (!chs.endsWith("兆")) chs = chs + "亿"; } else { // 如果没有零就直接加上"万" if (!chs.endsWith("兆")) chs = chs + "亿"; } } } } // 如:123,1234分成两部分 // 第1部分123:万以上亿以下 if (tab >= 4 && tab < 8) { // 当前数字不是大小零时 if (!tmp_chs[tab].equals("零")) { chs = chs + tmp_chs[tab] + CH[tab - 3]; // 当第1部分算完时在加上"万" if (tab == 4) { chs = chs + "万"; } } else { // 当前数字为大小"零"时 // 判断前一次形成在字符串结尾有没有零 // 如果没有零就加上零 if (!chs.endsWith("零")) { chs = chs + tmp_chs[tab]; } // 当第1部分算完时 if (tab == 4) { // 先判断字符串有没有零 // 如果有零时就把零去掉再加上"万" if (chs.endsWith("零")) { chs = chs.substring(0, chs.length() - 1); if (!chs.endsWith("亿")) if (!chs.endsWith("兆")) if (!chs.endsWith("兆")) chs = chs + "万"; } else { // 如果没有零就直接加上"万" if (!chs.endsWith("亿")) if (!chs.endsWith("兆")) chs = chs + "万"; } } } } // 如:123,1234分成两部分 // 第1部分1234:万以下 if (tab < 4) { if (!tmp_chs[tab].equals("零")) { // tmp_int_char.length - i 为数字所在的位数 chs = chs + tmp_chs[tab] + CH[tmp_int_char.length - i]; } else {// 当数字中有零时就在后加上零,如果超过1个以上的零也只加一个零 if (!chs.endsWith("零") && tab != 0) { chs = chs + tmp_chs[tab]; } if (chs.endsWith("零") && tab == 0) { chs = chs.substring(0, chs.length() - 1); } } } } // 如果数字的位数大于16 if (tmp_int_char.length > 16) { tmp_chs[tab] = CHS_NUMBER[(int) Float.parseFloat(tmp_int_char[i] + ".0")]; if (tab >= 12) { chs = chs + tmp_chs[tab]; // 当第1部分算完时在加上"万" if (tab == 12) { chs = chs + "兆"; } } if (tab >= 8 && tab < 12) { // 当前数字不是大小零时 if (!tmp_chs[tab].equals("零")) { chs = chs + tmp_chs[tab] + CH[tab - 7]; // 当第1部分算完时在加上"万" if (tab == 8) { chs = chs + "亿"; } } else { // 当前数字为大小"零"时 // 判断前一次形成在字符串结尾有没有零 // 如果没有零就加上零 if (!chs.endsWith("零")) { chs = chs + tmp_chs[tab]; } // 当第1部分算完时 if (tab == 8) { // 先判断字符串有没有零 // 如果有零时就把零去掉再加上"万" if (chs.endsWith("零")) { chs = chs.substring(0, chs.length() - 1); if (!chs.endsWith("兆")) chs = chs + "亿"; } else { // 如果没有零就直接加上"万" if (!chs.endsWith("兆")) chs = chs + "亿"; } } } } // 如:123,1234分成两部分 // 第1部分123:万以上亿以下 if (tab >= 4 && tab < 8) { // 当前数字不是大小零时 if (!tmp_chs[tab].equals("零")) { chs = chs + tmp_chs[tab] + CH[tab - 3]; // 当第1部分算完时在加上"万" if (tab == 4) { chs = chs + "万"; } } else { // 当前数字为大小"零"时 // 判断前一次形成在字符串结尾有没有零 // 如果没有零就加上零 if (!chs.endsWith("零")) { chs = chs + tmp_chs[tab]; } // 当第1部分算完时 if (tab == 4) { // 先判断字符串有没有零 // 如果有零时就把零去掉再加上"万" if (chs.endsWith("零")) { chs = chs.substring(0, chs.length() - 1); if (!chs.endsWith("兆")) if (!chs.endsWith("亿")) chs = chs + "万"; } else { // 如果没有零就直接加上"万" if (!chs.endsWith("兆")) if (!chs.endsWith("亿")) chs = chs + "万"; } } } } // 如:123,1234分成两部分 // 第1部分1234:万以下 if (tab < 4) { if (!tmp_chs[tab].equals("零")) { // tmp_int_char.length - i 为数字所在的位数 chs = chs + tmp_chs[tab] + CH[tmp_int_char.length - i]; } else {// 当数字中有零时就在后加上零,如果超过1个以上的零也只加一个零 if (!chs.endsWith("零") && tab != 0) { chs = chs + tmp_chs[tab]; } if (chs.endsWith("零") && tab == 0) { chs = chs.substring(0, chs.length() - 1); } } } } } if (tmp_down != null) { char[] tmp = tmp_down.toCharArray(); if (tmp.length == 1) { if (tmp[0] != '0') chs = chs + "元" + CHS_NUMBER[(int) Float.parseFloat(tmp[0] + ".0")] + "角整"; else chs = chs + "元整"; } else { if (tmp[1] != '0' && tmp[0] != '0') { chs = chs + "元" + CHS_NUMBER[(int) Float.parseFloat(tmp[0] + ".0")] + "角" + CHS_NUMBER[(int) Float.parseFloat(tmp[1] + ".0")] + "分"; } else if (tmp[1] != '0' && tmp[0] == '0') { chs = chs + "元零" + CHS_NUMBER[(int) Float.parseFloat(tmp[1] + ".0")] + "分"; } } } else { chs = chs + "元整"; } return chs; } public static void main(String[] args) { String m = "6136347.42"; System.out.println(ChinaNumber.getCHSNumber(m)); m = "641295403.34"; System.out.println(ChinaNumber.getCHSNumber(m)); } }
发表评论
-
java如何实现打印 demo
2014-02-20 09:09 1035突然想到用JAVA来打印东西,就在网上找了个简单DEMO,先 ... -
java使用HttpClient以GET或者POST方式向网页提交参数
2013-07-04 10:29 1494package http.demo; -
java实现移动,联通,电信手机号码的验证
2013-07-04 10:16 2830要更加准确的匹配手机号码只匹配11位数字是不够的,比 ... -
Easyui 结合Pluplaod插件的上传
2013-05-15 00:05 3397UploaderServlet.java ... -
Spring3.X @注解返回乱码解决方案
2013-05-14 23:54 808@ResponseBody乱码的解决方案比较简单,只要在s ... -
MyEclipse代码格式化后自定义不换行设置方法
2012-12-11 09:03 2131编辑完成代码,用MyEclipse的代码格式化后,本来不 ... -
Write operations are not allowed in read-only mode (FlushMode.NEVER)
2011-11-23 18:02 894使用Spring提供的Open Session In View ... -
myeclipse6.0注册码
2011-11-12 13:40 782package test; import java.io.*; ... -
myeclipse不能自动编译和发布问题
2011-09-28 10:49 4159部署方式:通过myeclipse ... -
C3P0的详细配置说明(com.mchange.v2.c3p0.ComboPooledDataSource)
2011-09-09 15:13 1031C3P0是一个开放源代码的JDBC连接池,它在lib目录中与H ... -
关于JAVA的中文编码乱码问题
2011-08-04 11:57 1107一、主题:关于JAVA的中 ...
相关推荐
用java代码 实现金额阿拉伯数字 转成 中文汉字大写形式
将数字金额转换为大写汉字的java工具类,方便财务相关开发转换金额。
主要为大家详细介绍了java实现数字转换人民币中文大写工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
用java实现将阿拉伯数字转换为金额的汉字大写
将数字转为中文金额的大写方式(Java版) 博文链接:https://lovinchan.iteye.com/blog/202768
主要为大家详细介绍了Java将数字金额转为大写中文金额,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
* 返回关于钱的中文式大写数字,支仅持到亿 * */ public static String arabNumToChineseRMB(int moneyNum){ String res=""; int i=3; if(moneyNum==0) return "零元"; while(moneyNum>0){ res=ChineseUnit...
将阿拉伯数字金额转成中文大写 "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"......
MoneyFormat 转换成大写中文。
使用java实现对人民币大写处理,亲测可用!
用Java编写的金额中文大写转换系统,实现对输入的金额转换成中文大写,精确到分位,实现自动加零。
里面有好几种,希望能对大家有用,提示"好"的是已经调试好的东西,如果大家觉得好使回复下,同时也给自己加一分
金额转换,中文金额转数字金额,数字金额转中文金额,中文金额转数字金额从字符串中获取中文大写金额或是数字金额,不支持小数,中文金额不支持混写,如 五千零壹十万元,不支持转换会输出0,字符串可以不用截取,...
NULL 博文链接:https://1017401036.iteye.com/blog/2312722
该程序用java语言实现,编译环境Myecilpse,模拟自动取款机,用图形用户界面实现!分别实现:存款,取款,显示余额,修改密码,退出登录,退出系统等功能!并且能够吧交易金额转换成大写表示形式
在做商业领域中,开发票、支票等与金钱相关的项目时通常会遇到要求把数字转换成中文大写。诸如“壹拾圆陆角玖分”。借鉴网友成熟的想法,再加上我周密的思考,最终形成此代码。压缩包中仅包含一个java文件,里面仅有...
看清楚是中文转数字
读入一串阿拉伯数字,将其转化为中文金额的大写方式。这是老师布置的一题回家作业。花了一天时间完成的。虽然代码比较烦琐。但是所有的几率都考虑到了。
其实,只有最后的while循环有用