- 浏览: 5173629 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
silence19841230:
先拿走看看
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
masuweng 写道发下源码下载地址吧!三个相关文件打了个包 ...
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
发下源码下载地址吧!
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
水淼火 写道你好,我使用以后,图标不显示,应该怎么引用呢,谢谢 ...
前端框架iviewui使用示例之菜单+多Tab页布局
将阿拉伯数字转换成人民币大写形式的JAVA工具类,只有一个静态函数,不用讲怎么用了吧。
文章链接地址:http://wallimn.iteye.com/admin/blogs/365769
/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn 电邮:wallimn@sohu.com 时间:2009-04-11
博客:http://wallimn.iteye.com
http://blog.csdn.net/wallimn
网络硬盘:http://wallimn.ys168.com
/***********文章发表请与本人联系,作者保留所有权利*************/
文章链接地址:http://wallimn.iteye.com/admin/blogs/365769
public class MoneyUtil { private final static String[] CN_Digits = { "零", "壹", "貳", "叁", "肆", "伍", "陆", "柒", "捌", "玖", }; /** * 将数字型货币转换为中文型货币 <br/> * 作者:wallimn 时间:2009-4-10 下午09:59:26<br/> * 博客:http://blog.csdn.net/wallimn<br/> * 参数:<br/> * * @param moneyValue * 字符串形式的金额,小数部分,将多于3位部分舍去,不做四舍五入 * @return */ public static String CNValueOf(String moneyValue) { //使用正则表达式,去除前面的零及数字中的逗号 String value = moneyValue.replaceFirst("^0+", ""); value = value.replaceAll(",", ""); //分割小数部分与整数部分 int dot_pos = value.indexOf('.'); String int_value; String fraction_value; if (dot_pos == -1) { int_value = value; fraction_value = "00"; } else { int_value = value.substring(0, dot_pos); fraction_value = value.substring(dot_pos + 1, value.length()) + "00".substring(0, 2);//也加两个0,便于后面统一处理 } int len = int_value.length(); if (len>16) return "值过大"; StringBuffer cn_currency = new StringBuffer(); String[] CN_Carry = new String[] { "", "万", "亿", "万" }; //数字分组处理,计数组数 int cnt = len/4+(len%4==0?0:1); //左边第一组的长度 int partLen = len-(cnt-1)*4; String partValue=null; boolean bZero=false;//有过零 String curCN=null; for(int i =0; i<cnt; i++){ partValue = int_value.substring(0,partLen); int_value=int_value.substring(partLen); curCN = Part2CN(partValue,i!=0&&!"零".equals(curCN)); //System.out.println(partValue+":"+curCN); //若上次为零,这次不为零,则加入零 if(bZero && !"零".equals(curCN)){ cn_currency.append("零"); bZero=false; } if("零".equals(curCN))bZero=true; //若数字不是零,加入中文数字及单位 if(!"零".equals(curCN)){ cn_currency.append(curCN); cn_currency.append(CN_Carry[cnt-1-i]); } //除最左边一组长度不定外,其它长度都为4 partLen=4; partValue=null; } cn_currency.append("元"); //处理小数部分 int fv1 = Integer.parseInt(fraction_value.substring(0,1)); int fv2 = Integer.parseInt(fraction_value.substring(1,2)); if(fv1+fv2==0){ cn_currency.append("整"); } else{ cn_currency.append(CN_Digits[fv1]).append("角"); cn_currency.append(CN_Digits[fv2]).append("分"); } return cn_currency.toString(); } /** * 将一组数字(不多于四个)转化成中文表示 <br/> * 作者:wallimn 时间:2009-4-11 下午07:41:25<br/> * 博客:http://wallimn.iteye.com<br/> * 参数:<br/> * * @param partValue 字符串形式的数字 * @param bInsertZero 是否在前面添加零 * @return */ private static String Part2CN(String partValue,boolean bInsertZero) { //使用正则表达式,去除前面的0 partValue = partValue.replaceFirst("^0+", ""); int len = partValue.length(); if (len == 0) return "零"; StringBuffer sbResult = new StringBuffer(); int digit; String[] CN_Carry = new String[] { "", "拾", "佰", "仟" }; for (int i = 0; i < len; i++) { digit = Integer.parseInt(partValue.substring(i, i + 1)); if (digit != 0) { sbResult.append(CN_Digits[digit]); sbResult.append(CN_Carry[len - 1 - i]); } else { // 若不是最后一位,且下不位不为零,追加零 if (i != len - 1 && Integer.parseInt(partValue.substring(i + 1, i + 2)) != 0) sbResult.append("零"); } } if(bInsertZero && len!=4)sbResult.insert(0, "零"); return sbResult.toString(); } }
/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn 电邮:wallimn@sohu.com 时间:2009-04-11
博客:http://wallimn.iteye.com
http://blog.csdn.net/wallimn
网络硬盘:http://wallimn.ys168.com
/***********文章发表请与本人联系,作者保留所有权利*************/
评论
4 楼
尹鹏波
2011-09-22
谢谢lz了,lz辛苦了
3 楼
zhangskills
2010-02-07
呵呵,我也写过一个类似的,可以支持long类型的转换
2 楼
wallimn
2010-01-30
呵呵,我处理的数据没有那么大的。
1 楼
mpl398235717
2010-01-30
你这个值不准,你测试一下2万亿 晕死
发表评论
-
gradle编译错误:Could not find method compile() for arguments
2020-09-19 10:50 18621编译(IDEA+Gradle)一个别人的工程,出现一个 ... -
netty心跳检查之UDP篇
2019-09-15 08:50 2456部分UDP通信场景中,需要客户端定期发送心跳信息,以获取终 ... -
解决tomcat部署两个SpringBoot应用提示InstanceAlreadyExistsException
2019-06-30 11:49 3446两个SpringBoot应用部署在一个Tomcat中,单独 ... -
Eclipse配置MyBatis代码自动化功能
2019-06-29 10:16 18121.安装插件 Eclipse中,Help->Ecli ... -
vue.js中使用qrcode生成二维码
2019-05-20 00:00 7677一、安装包 npm install qrcodejs2 --s ... -
MySQL插入数据报错: Incorrect string value: '\xFD\xDE'
2019-03-31 23:19 1274我MySQL数据库用的uft-8字符集,插入数据一直很正常 ... -
vue自定义组件并双向绑定属性
2019-03-08 22:46 3268做了两个子组件,原理基本一样,一个是使用原生的select ... -
vue-router简单示例
2019-03-05 00:32 1175写个基本完整、稍有借鉴意义的示例,防止自己忘记。 &l ... -
“联通充值系统繁忙”轻松应对
2019-02-06 11:03 3992大过年的,联通充个值一直报“充值系统繁忙”。昨天晚上试了几 ... -
electron.js数据库应用---导航菜单(element-ui+mysql)
2019-02-05 21:33 2381一、环境搭建 略, ... -
electron.js数据库应用---入门(mysql+element-ui)
2019-01-27 23:19 7524我的机器:Windows10,64 ... -
SpringMVC 在controller层中注入成员变量request,是否线程安全
2018-12-17 21:17 2759@RestController public class ... -
VueJS 组件参数名命名与组件属性转化
2018-12-03 00:00 2089转自:https://www.cnblogs.com/meiy ... -
vue-resource拦截器实现token发送及检验自动化
2018-11-16 22:38 3084用了很长时间vue-resource,最近思考$http发 ... -
element-ui试用手记
2018-10-29 20:25 1768element-ui、iviewui都以vue.js为基础 ... -
iviewui中表格控件中render的使用示例
2018-07-07 16:46 9798示例了如何在表格中显示按钮,如何将代码转化为文字。 i ... -
Tomcat错误“Alias name tomcat does not identify a key entry”解决
2018-07-05 21:39 6632申请到了阿里云的证书后,下载、按照说明生成jks格式证书、 ... -
阿里云免费证书“fileauth.txt内容配置错误”解决
2018-07-05 20:43 5329最近研究微信小程序开发,上阿里云申请了个证书,使用文件验证 ... -
springboot2.0跨域配置
2018-07-04 22:11 5296springboot2.0跨域配置: 一、代码 ... -
微信小程序使用code换openid的方法(JAVA、SpringBoot)
2018-07-01 21:52 10418微信小程序序的代码中提示,使用code换取openid,但 ...
相关推荐
Java 实现数字转换人民币中文大写工具是指使用 Java 语言将数字转换为人民币中文大写格式的工具。该工具具有很高的实用价值,特别是在人事业务系统开发中,经常需要将数字转换为大写,以便于报表打印和日常业务处理...
在Java编程语言中,将中文数字转换为阿拉伯数字是一个常见的需求,特别是在处理中文文本数据时。这个场景下,我们有一个名为“中文数字转成阿拉伯数字 java 实现”的压缩包,包含了一个实现此功能的Java包和一个单元...
在IT行业中,尤其是在财务软件开发或者银行系统设计中,经常需要将阿拉伯数字金额转换成大写数字金额,以便于核对、防止错误和提高安全性。这是因为大写数字在视觉上与阿拉伯数字有所区别,可以降低欺诈风险。本例子...
总的来说,将阿拉伯数字转换为金额的汉字大写是Java在财务领域中的一项基础应用,它体现了编程语言处理日常业务问题的能力。通过理解并实现这样的功能,开发者不仅可以加深对Java编程的理解,也能更好地服务于财务...
本篇将介绍如何使用Java编程语言将人民币金额转换成大写,并且通过自定义标签库(Tag Library)在网页上显示。首先,我们来看`ChangeNumMoney.java`这个文件,它可能包含了实现金额转换的核心逻辑。 `...
在实际项目中,我们可能会将这样的功能封装到一个工具类中,并提供更多的方法来支持各种格式的数字转换。例如,可以添加一个处理负数的方法,或者一个处理带有单位(如元、角、分)的数字的方法。此外,考虑到本地化...
然后,我们实现一个方法`NumToChinese`,该方法是整个工具类的核心,用于将输入的金额数字转换为汉字表示。 `NumToChinese`方法首先会对输入的数字进行范围判断,如果数字超出了预设的范围,则会抛出异常。之后,...
在Android开发中,有时我们需要将数字转换为中文或者将金额以大写的格式显示,这在财务应用或一些需要中文表示数字的场景中尤其常见。本文将深入探讨如何在Android环境中实现这一功能,包括数字转中文以及数字金额转...
Java数字转汉字工具类是指将数字转换为汉语中人民币的大写的工具类。该工具类主要用于处理金额的转换,提供了一种将数字转换为汉语中人民币的大写的解决方案。 在Java数字转汉字工具类中,使用了两个数组:...
在IT行业中,尤其是在财务软件开发或者处理金融数据时,经常需要进行金额的格式转换,将中文大写的金额转换成小写数字。这是因为中文大写数字在财务领域中使用广泛,可以防止数字篡改,增强账目的安全性。本节将详细...
在处理金融数据时,为了保证准确性和规范性,通常会将金额从小写的阿拉伯数字转换为大写的汉字数字,这在财务报表、发票等正式文档中尤其常见。在JSP(JavaServer Pages)页面中实现这个功能,我们可以利用Java编程...
后端使用Java的JCodeModel库生成处理数字转换的代码,将阿拉伯数字转化为中文大写,如“一”、“二”、“三”等,这在财务或会计领域很常见,因为中文大写数字在防止篡改和增加安全性方面有其优势。 具体实现可能...
5. java将小写金额转换为大写的工具类 - zgrjkflmkyc的专栏 - 博客频道 - CSDN.NET.webarchive:同样是博客文章的归档,作者提供了自定义的Java工具类,用于将阿拉伯数字形式的小写金额转换为汉字大写。这个工具类...
其次,金额大写转换在财务软件和银行系统中非常常见,它涉及到将阿拉伯数字转换为中文大写数字,以避免在处理大量金钱时的误解。在Java中,可以编写函数或者使用现有的库来实现这个功能。基本思路是定义一个映射表,...
通过这个工具类,我们可以方便地将支票金额的数字形式转换成中文大写,从而满足支票填写的要求。这个示例不仅提供了基本的转换功能,还考虑了数字前导和尾随零的处理,使得转换结果更加规范和安全。对于实际的业务...
在处理财务或者发票相关的程序时,将阿拉伯数字转换成中文大写是必不可少的步骤,因为中国的财务规范要求金额在发票上必须用中文大写表示,以防止篡改和提高准确性。"MoneyUtils.rar_发票"这个文件恰好提供了解决这...
9. 金额转换问题:将阿拉伯数字形式的金额转换为中文大写金额,如“1011”转换为“一千零一拾一元整”。这通常需要根据中文数字的规则来设计转换逻辑。 10. Java通信编程与Socket:Java的Socket编程用于实现基于TCP...
Java的Character类是Java语言中处理单个字符的类,它是位于`java.lang`包下的一个内置类。Character类提供了许多静态方法,用于处理字符的各种操作,如转换、比较、查找、验证等。在深入探讨Character类之前,我们...
虽然这部分代码没有给出具体实现,但可以推测其功能是将阿拉伯数字形式的金额转换为中文大写形式。这在财务系统中非常常见,用于正式文档如发票、支票等。 #### 3. 日期转换为字符串 **方法描述**: 此方法接收一...
设计思路可以是创建一个映射表,将阿拉伯数字对应到人民币大写的字符,然后遍历数字字符串进行转换。伪代码如下: ``` function arabic_to_chinese(num_str): mapping = {'0': '零', '1': '壹', '2': '贰', '3': ...