java中数字格式金额转换成中文大写金额工具类
/*** 金额转换工具类*/
public class MoneyUtils {private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分";private static final String DIGIT = "零壹贰叁肆伍陆柒捌玖";private static final double MAX_VALUE = 9999999999999.99D;public static String change(double v) {if (v < 0 || v > MAX_VALUE){return "参数非法!";}long l = Math.round(v * 100);if (l == 0){return "零元整";}String strValue = l + "";// i用来控制数int i = 0;// j用来控制单位int j = UNIT.length() - strValue.length();String rs = "";boolean isZero = false;for (; i < strValue.length(); i++, j++) {char ch = strValue.charAt(i);if (ch == '0') {isZero = true;if (UNIT.charAt(j) == '亿' || UNIT.charAt(j) == '万' || UNIT.charAt(j) == '元') {rs = rs + UNIT.charAt(j);isZero = false;}} else {if (isZero) {rs = rs + "零";isZero = false;}rs = rs + DIGIT.charAt(ch - '0') + UNIT.charAt(j);}}if (!rs.endsWith("分")) {rs = rs + "整";}rs = rs.replaceAll("亿万", "亿");return rs;}public static void main(String[] args){System.out.println(MoneyUtils.change(12356789.9845));}
}
业务需求要用到此工具类,百度到的,分享一下,并在下方附上原文链接。
原文链接:https://www.cnblogs.com/niuyaoBolg/p/5654113.html
java中数字格式金额转换成中文大写金额工具类相关推荐
- win7计算机名改成大写,图文解读win7系统excel数字小写金额转换成汉字大写金额的措施...
有很多网友在使用电脑的过程总难免会遇到win7系统excel数字小写金额转换成汉字大写金额的情况.针对win7系统excel数字小写金额转换成汉字大写金额的问题,我给大家整理总结了详细的解决步骤.近日 ...
- 金额转换成中文大写金额
留个纪念.这个类主要用于将数字金额转换成中文大写金额,提供了三个方法: toDX(double val) toDX(String val) toDX(int val) 使用方法 AmtInWords. ...
- c#金额转换成中文大写金额
c#金额转换成中文大写金额 原文:c#金额转换成中文大写金额 2018-08-24 转别人 c#金额转换成中文大写金额 /// <summary>/// 金额转换成中文大写金额/// &l ...
- 【C语言】小写数字金额转换成中文大写金额
1. 更新说明 添加与 "零圆整" 等价的预先判断 (0 / 0. / 0.0 / 0.00 / . / .0 / .00) 修复了因使用函数 strdup 导致的内存泄漏 除去输 ...
- 阿拉伯数字小写金额转换成中文大写金C额程序说明
阿拉伯数字小写金额转换成中文大写金额C程序说明 1.问题的提出 寒假帮同学交缴话费时,不经意间看到收据上同时有小写金额和大写金额,想想各种各样的票据诸如缴费收据.银行业务回单.商场销售凭证.专用发票等 ...
- 如何把数字金额转换成中文大写
问题:要求把万亿级别内的浮点数转换成中文大写,例如把数字1112221000060.254400转换成:壹万壹仟壹佰贰拾贰亿贰仟壹佰万零陆拾元零贰角伍分 分析:关键是先把double类型转换成char ...
- 在java中如何把字符串转换成时间格式?
在java中如何把字符串转换成时间格式? 检举 | 2007-11-28 17:26 提问者:baixiao429 | 悬赏分:20 | 浏览次数:6645次 有这样一个字符串:"20070 ...
- 把数字金额转换成中文大写数字
//把数字金额转换成中文大写数字 function changeNumMoneyToChinese(money) { var cnNums = new Array("零", &qu ...
- 将阿拉伯数字转换成中文大写金额的形式
问题:编写控制台程序,用户输入阿拉伯数字的金额,系统自动转换成中文大写金额的形式输出. 例如:输入458796: 转换为:肆拾伍万捌仟柒佰玖拾陆. 问题分析:既然是数字大小写转换,那么我们这样考虑问题 ...
最新文章
- CSS3之创建3D场景
- java编程器答疑z湖南岚鸿,吐血整理
- 无法保存打印机设置 0x000006d9
- 服务器相关命令整理[不断更新ing]
- sde表空间无法导入数据和编辑
- python sorted下标_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...
- VS2008操作PPT
- 共享可写节包含重定位_理解重定位
- [物理题+枚举] hdu 4445 Crazy Tank
- Altium Designer 在pcb下导入的原件引脚是绿的
- t检验临界值表中的n是什么_t检验(t-test)临界值表
- JS特效之超级好看的鼠标小尾巴
- WPF 设置窗口不跟随触摸惯性拖动抖动
- JavaScript(基础知识)
- CPT205 计算机图形 笔记
- JavaSE之常用API
- 解决SD卡格式化无法选择磁盘的问题
- Ubuntu中.bashrc默认内容
- 学生HTML个人网页作业作品 (水果商城HTML+CSS)
- USB 摄像头 进行python OpenCV 操作的基础设置【以yolo 目标检测为例】