- 浏览: 104710 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (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 1089突然想到用JAVA来打印东西,就在网上找了个简单DEMO,先 ... -
java使用HttpClient以GET或者POST方式向网页提交参数
2013-07-04 10:29 1535package http.demo; -
java实现移动,联通,电信手机号码的验证
2013-07-04 10:16 2878要更加准确的匹配手机号码只匹配11位数字是不够的,比 ... -
Easyui 结合Pluplaod插件的上传
2013-05-15 00:05 3441UploaderServlet.java ... -
Spring3.X @注解返回乱码解决方案
2013-05-14 23:54 857@ResponseBody乱码的解决方案比较简单,只要在s ... -
MyEclipse代码格式化后自定义不换行设置方法
2012-12-11 09:03 2173编辑完成代码,用MyEclipse的代码格式化后,本来不 ... -
Write operations are not allowed in read-only mode (FlushMode.NEVER)
2011-11-23 18:02 929使用Spring提供的Open Session In View ... -
myeclipse6.0注册码
2011-11-12 13:40 852package test; import java.io.*; ... -
myeclipse不能自动编译和发布问题
2011-09-28 10:49 4215部署方式:通过myeclipse ... -
C3P0的详细配置说明(com.mchange.v2.c3p0.ComboPooledDataSource)
2011-09-09 15:13 1076C3P0是一个开放源代码的JDBC连接池,它在lib目录中与H ... -
关于JAVA的中文编码乱码问题
2011-08-04 11:57 1145一、主题:关于JAVA的中 ...
相关推荐
Java 类金额转换成大写 在 Java 编程语言中,金额转换成大写是非常有用的功能,特别是在财务、银行、电子商务等领域中。下面我们来详细介绍如何使用 Java 实现金额转换成大写的功能。 实例代码分析 首先,我们来...
Java 中实现数字金额到中文大写字符的转换 Java 中实现数字金额到中文大写字符的转换是指将阿拉伯数字转换成中文大写的过程。本文将详细介绍 Java 实现数字金额到中文大写字符的转换的知识点。 知识点一: 数字...
在人事业务系统中,日期也可以用汉字大写表示,以便于更好地表达日期信息。 Java 实现数字转换人民币中文大写工具的代码实例如下: ```java public class Data2Zh { final static private String NUMBER[] = { "零...
将数字金额转换为大写汉字的java工具类,方便财务相关开发转换金额。
在Java编程中,将金额的阿拉伯数字转换为中文汉字大写是常见的财务处理需求,主要用于防止数字篡改,增加财务数据的安全性和准确性。这个过程通常称为金额数字化,它涉及到将小数点、整数和小数部分分别转换,并且...
用JAVA书写的一个大写金额转化为小写金额的类
根据给定的文件信息,我们可以总结出以下有关“Java金额转大写”的知识点: ### 一、背景介绍 在财务处理、票据填写等场景中,经常需要将阿拉伯数字表示的金额转换为汉字大写形式。这不仅可以提高正式文档的专业性...
本文将深入探讨如何使用Java来实现阿拉伯数字到金额汉字大写的转换。 首先,我们需要了解金额汉字大写的基本规则。在中国,金额的汉字大写有特定的规则,例如1到10的汉字大写分别是壹、贰、叁、肆、伍、陆、柒、捌...
将数字转为中文金额的大写方式(Java版) 博文链接:https://lovinchan.iteye.com/blog/202768
Java程序实现数字金额转为大写中文金额,是一项常见的编程任务,尤其在金融行业以及需要处理财务数据的软件中应用广泛。其核心功能是将阿拉伯数字表示的金额转换成中文大写形式,以满足财务凭证、支票、合同等文档中...
在Java编程中,将钱币小写金额转换为大写金额是一项常见的需求,特别是在财务系统或者电商平台上,为了符合规范和避免误解,金额通常会以大写形式展示。本知识点主要探讨如何利用Java实现这一功能。 首先,我们需要...
通过这样的Java实现,我们能够轻松地将金额数字转换为大写汉字,满足各种财务报表和数据处理的需求。当然,实际的项目中还可能需要考虑性能优化,特别是对于大数据量的转换,可以考虑使用流式处理或者多线程等技术来...
在 Java 中,将人民币金额数字转换成大写需要使用 HashMap 来存储中文数字和人民币金额的对应关系。例如,数字 1 对应中文数字 "壹",数字 2 对应中文数字 "贰",以此类推。 在 SimpleMoneyFormat 类中,我们首先...
在Java编程中,将金额小写转换为大写是一个常见的需求,特别是在财务系统或银行应用中,为了符合规范,金额通常需要以大写形式展示,防止因大小写混淆导致的错误。本文将深入探讨如何实现这个功能,并通过提供的`...
在IT行业中,编程语言Java是广泛使用的,尤其在金融、财务等领域,经常需要将小写的金额转换为大写的汉字表示,以满足规范的财务报告需求。这个“小写金额转大写”的主题就涉及到这样的一个功能实现。在这个压缩包...
本文将深入探讨如何在Android环境中实现这一功能,包括数字转中文以及数字金额转大写,并且会涉及到口语化的转换。 首先,数字转中文主要是将阿拉伯数字(如1、2、3等)转换成中文数字(如一、二、三等)。在Java或...
在中文环境中,人民币的金额通常使用大写表示,以便于财务报表的规范性和防止篡改。本篇将介绍如何使用Java编程语言将人民币金额转换成大写,并且通过自定义标签库(Tag Library)在网页上显示。首先,我们来看`...
在IT行业中,尤其是在财务软件开发或者金融系统的编程中,将数字金额转换为中文大写是一种常见的需求。这有助于避免因数字书写错误导致的财务纠纷,因为中文大写的金额更不容易被篡改。在这个场景中,"MoneyFormat" ...
此程序的主要目的是为了在财务、会计等场景下能够准确地将数字形式的金额转换成汉字大写形式,这对于正式文件如发票、合同等非常重要。 ### 主要知识点 #### 1. **正则表达式的应用** - **`AMOUNT_PATTERN`**:...
本文将详细介绍如何使用Ireport内置的Scriptlet功能实现将金额转换为大写的汉字表示,这对于财务报表的制作尤为重要,因为在中国,金额通常需要以中文大写的形式出现,以增加数据的准确性,防止篡改。 首先,我们要...