package com.clouderp.order.utils;public class RMBChange {private static String[] nums = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};// 单位还可以往上private static String[] unit = {"元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万"};// 小数位如还有需求可以直接往这个数组里加,private static String[] countNum = {"角", "分"};public static String change(String money) {// 过滤空if (money == null || "".equals(money)) {return "";}StringBuilder res = new StringBuilder();String[] splitStr = money.split("\\.");if (splitStr.length > 2) {throw new RuntimeException("输入的参数不是数字!");}String front = splitStr[0];// 用于判定0的显示boolean isZero = true;if (front.length() > unit.length) {throw new RuntimeException("输入的参数大于万亿!");}for (int i = 0; i < front.length(); i++) {// 整数位处理int dw = front.length() - i - 1;// 用ASCII码获得数字int index = (front.charAt(i) - '0');if (index == 0) {isZero = true;if (dw == 0 || dw == 4  || dw == 8) {// 元,万,亿需要拼接res.append(unit[dw]);}} else {if (isZero && i != 0) {// 多个0只显示一个res.append(nums[0]);}isZero = false;res.append(nums[index]);res.append(unit[dw]);}}// 判断是否有小数位if (splitStr.length > 1) {// 小数位处理,如果不需要则直接删除这个if及内部所有内容isZero = true;String back = splitStr[1];if (back.length() > countNum.length) {throw new RuntimeException("小数位小于【" + countNum[countNum.length - 1] + "】!");}for (int i = 0; i < back.length(); i++) {int index = (back.charAt(i) - '0');if (index == 0) {isZero = true;} else {if (isZero && i != 0) {res.append(nums[0]);}isZero = false;res.append(nums[index]);res.append(countNum[i]);}}}return res.toString();}public static void main(String[] args) {System.out.println(change("9999999999999.99")); // 玖万玖仟玖佰玖拾玖亿玖仟玖佰玖拾玖万玖仟玖佰玖拾玖元玖角玖分System.out.println(change("5020055606500.00")); // 伍万零贰佰亿零伍仟伍佰陆拾万零陆仟伍佰元System.out.println(change("4001500050.16"));    // 肆拾亿零壹佰伍拾万零伍拾元壹角陆分System.out.println(change("7854416"));  // 柒佰捌拾伍万肆仟肆佰壹拾陆元System.out.println(change("9556")); // 玖仟伍佰伍拾陆元System.out.println(change("10086.0"));  // 壹万零捌拾陆元System.out.println(change("263341.26"));    // 贰拾陆万叁仟叁佰肆拾壹元贰角陆分System.out.println(change("3651.06"));  // 叁仟陆佰伍拾壹元零陆分System.out.println(change("1.00")); // 壹元System.out.println(change("300.00"));   // 叁佰元System.out.println(change("2007.01"));  // 贰仟零柒元零壹分}
}

java将小写金额转为大写金额相关推荐

  1. 人民币小写金额转大写金额

    #region 人民币小写金额转大写金额/// <summary>/// 小写金额转大写金额/// </summary>/// <param name="Mon ...

  2. 人民币 小写金额转换为大写金额

    人民币 小写金额转换为大写金额 标签(空格分隔): 人民币 小写金额转换为大写金额 jsp: div class="form-group"> <label class= ...

  3. 小写金额转换为大写金额JS方法

    /**  *function: 小写金额转换为大写金额  *return: 转换后的大写金额,类型String */ function money2Cn(str){  var temp = parse ...

  4. #小写金额转大写金额

    小写金额转大写金额 闲话不多说,直接上代码: function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖";$c2 = "分角元拾佰仟万拾佰 ...

  5. 将小写金额转换为大写金额

    /* 运行环境:MS-SQL 2000 将小写金额转换为大写金额 整数部分最大值:9位数 小数部分最大值:2位 必须格式:整数.小数 状态:完成 Update date:2007-10-07 */ / ...

  6. java小写金额转大写金额

    1.引入hutool依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all& ...

  7. Java将数字金额转为大写

    首先将数字金额定义为字符串类型,然后再转为int或double型:判断是否是负数或有小数点,再进行下一步处理. 代码如下: package com.study;import com.sun.deplo ...

  8. C#实现小写金额转大写金额

    最近项目上用到小写转大写金额,公司同事还准备写一段代码来实现,后来发现架构上有现成的. 其实在银行.进销存.CRM等系统中经常可能用到 这个跟大家分享一下: 小写金额转大写 /// <summa ...

  9. c语言如何实现人民币转换编程,C语言成序设计实现人民币小写金额与大写金额的转换.docx...

    main() {double r,y; int x, m,n,j,i,k,flag=0; int str1[10]={"零","壹","贰" ...

  10. 无限位小写金额转换大写金额(修订版)

    说明: 1.本程序用JavaScript语言编写.转换方法严格遵照中国人民银行规定的银行支票中关于金额数字中文大写填写规范的相关规定(见下面附文),规定中两可之处按简便方法处理. 2.输入小写金额原则 ...

最新文章

  1. 修改属性使按钮处于无验证状态
  2. python毫秒级时间戳
  3. Nginx之共享内存与slab机制
  4. A 子类继承父类,子类的构造函数会覆盖父类的构造函数
  5. oracle10g 操作系统,各版本操作系统ORACLE 10g 下载(包括windows和linux)
  6. 数据库迁移Flyway
  7. 三管齐下!TB 级文件的上传性能瞬间被优化 100 倍!
  8. Android用canvas画哆啦A梦
  9. Solr 4.10.3 集成 IK Analyzer 2012FF 中文分词器
  10. 【5】【心得】java 命令运行java程序 没有任何反应 编译没有报错
  11. LODOP打印项水平居中
  12. html批量打印保存到pdf,网页批量打印成PDF,并按条件合并成大PDF、生成页码
  13. 联想服务器系统初始化失败怎么回事,win10重置初始化失败怎么解决
  14. Tableau——嵌套组合饼图
  15. 2019年8月15日奇虎360测评与笔试分享
  16. 面试官灵魂三问:什么是SOA?什么是微服务?SOA和微服务有什么区别?
  17. 最长上升子序列 CSU - 1047 ( LIS LCS )
  18. 【程序设计训练】棋盘
  19. safari网页转pdf方法教程(safari页面保存为pdf)
  20. 一个顶级IT咨询师的对话

热门文章

  1. uni-app npm安装以及在uni-APP用npm安装echarts
  2. 蓝牙音箱延迟测试软件,首发漫步者Lolli Pods使用感受及延迟测试
  3. 开源数据分析平台Countly
  4. 软件测试好学吗 入门还是很好学的,但想要深造就还是要费功夫
  5. 获取FPGA芯片序号
  6. 【方法论】时间管理矩阵(Time Management Matrix )-给事情排序,列好1234再执行吧!
  7. 《Java JDK8学习笔记》读书笔记(3)
  8. 网络传输数据基本流程 详解
  9. 如何解决:使用Xbrowser软件连接服务器显示灰屏
  10. java实现清除图片水印_Java 添加、删除PPT文本和图片水印