直接给出代码,复制即用

public static String arabiaToChinese(String number){if(isBlank(number)){return "零";}if(!isNumeric(number)){//是否是数字类型return "";}number = number.replaceAll(",","");number = number.replaceAll(" ","");if(Double.parseDouble(number) == 0){return "零";}BigDecimal decimal = new BigDecimal(number);number = decimal.toString();//分成两部分来处理String[] num = number.split("\\.");String head = num[0];if(head.length() > 10){System.out.println("数字超过十亿,无法计算");return "";}StringBuffer headNew = new StringBuffer();for(int i = head.length() - 1; i >= 0; i--){String si = String.valueOf(head.charAt(i));StringBuffer headNewString = new StringBuffer();//String ss = String.valueOf( num[0].charAt(i));switch (String.valueOf(head.charAt(i))){case "0":headNewString.append("零" + headNewString);break;case "1":headNewString.append("壹" + headNewString);break;case "2":headNewString.append("贰" + headNewString);break;case "3":headNewString.append("叁" + headNewString);break;case "4":headNewString.append("肆" + headNewString);break;case "5":headNewString.append("伍" + headNewString);break;case "6":headNewString.append("陆" + headNewString);break;case "7":headNewString.append("柒" + headNewString);break;case "8":headNewString.append("捌" + headNewString);break;case "9":headNewString.append("玖" + headNewString);break;}switch (num[0].length() - i - 1){case 0:headNewString.append("元");break;case 1:if(!"0".equals(si)) headNewString.append("拾");break;case 2:if(!"0".equals(si)) headNewString.append("佰");break;case 3:if(!"0".equals(si)) headNewString.append("仟");break;case 4:headNewString.append("万");break;case 5:if(!"0".equals(si)) headNewString.append("拾");break;case 6:if(!"0".equals(si)) headNewString.append("佰");break;case 7:if(!"0".equals(si)) headNewString.append("仟");break;case 8:headNewString.append("亿");break;case 9:headNewString.append("拾");break;}headNew = headNewString.append(headNew);}if(num.length > 1){if(num[1].length() > 2){System.out.println("小数点之后只能保留两位,系统将自动截断");num[1] = num[1].substring(0,2);}char[] tail = num[1].toCharArray();for (int i = 0; i < tail.length; i++) {StringBuffer tailNewString = new StringBuffer();switch (String.valueOf(tail[i])){case "0":tailNewString.append("零" + tailNewString);break;case "1":tailNewString.append("壹" + tailNewString);break;case "2":tailNewString.append("贰" + tailNewString);break;case "3":tailNewString.append("叁" + tailNewString);break;case "4":tailNewString.append("肆" + tailNewString);break;case "5":tailNewString.append("伍" + tailNewString);break;case "6":tailNewString.append("陆" + tailNewString);break;case "7":tailNewString.append("柒" + tailNewString);break;case "8":tailNewString.append("捌" + tailNewString);break;case "9":tailNewString.append("玖" + tailNewString);break;}if(i == 0) tailNewString.append("角");if(i == 1) tailNewString.append("分");headNew.append(tailNewString);}}String subject = headNew.toString();while (subject.contains("零零")) {subject = subject.replaceAll("零零", "零");}subject = subject.replaceAll("零亿","亿");subject = subject.replaceAll("亿万","亿");subject = subject.replaceAll("零万","万");subject = subject.replaceAll("零元","元");subject = subject.replaceAll("零角","");subject = subject.replaceAll("零分","");String c = String.valueOf(subject.charAt(subject.length() - 1));if("元".equals(c) || "角".equals(c)){subject = subject + "整";}return subject;}

如何将数字金额转成中文人民币大写相关推荐

  1. Java 将数字金额转成中文大写

    一个 Java 将数字金额转成中文大写的工具类,还不是很完善. import java.util.regex.Matcher; import java.util.regex.Pattern;publi ...

  2. 把数字金额转换成中文大写数字

    //把数字金额转换成中文大写数字 function changeNumMoneyToChinese(money) { var cnNums = new Array("零", &qu ...

  3. 如何把数字金额转换成中文大写

    问题:要求把万亿级别内的浮点数转换成中文大写,例如把数字1112221000060.254400转换成:壹万壹仟壹佰贰拾贰亿贰仟壹佰万零陆拾元零贰角伍分 分析:关键是先把double类型转换成char ...

  4. 【C语言】小写数字金额转换成中文大写金额

    1. 更新说明 添加与 "零圆整" 等价的预先判断 (0 / 0. / 0.0 / 0.00 / . / .0 / .00) 修复了因使用函数 strdup 导致的内存泄漏 除去输 ...

  5. php数字转换百千万,PHP数字金额转换成中文大写显示

    整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的! 思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理 代码附上: function moneyToSt ...

  6. php显示大写金额,PHP数字金额转换成中文大写显示

    整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的! 思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理 代码附上: function moneyToSt ...

  7. php 把数字变成大写数字,PHP数字金额转换成中文大写显示

    整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的! 思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理 代码附上: function moneyToSt ...

  8. js和ts两种 将 小写金额转中文大写汉字,阿拉伯数字金额格式化成中文大写汉字,数字金额转换成财务发票大写中文

    通过 npm i money2cn 安装  支持typescript 使用: import  money2cn  from 'money2cn' const nums = money2cn(23423 ...

  9. 金额转换成中文大写金额

    留个纪念.这个类主要用于将数字金额转换成中文大写金额,提供了三个方法: toDX(double val) toDX(String val) toDX(int val) 使用方法 AmtInWords. ...

最新文章

  1. 微软推出“ Group Transcribe”应用,多人多语言会议实时高准确度文字转录并翻译
  2. 使用FAI+PXE批量部署Debian。
  3. 服务器2012怎么换桌面背景,2012年职称计算机Windows XP:更改桌面背景和颜色
  4. java comparator 降序排序_【转】java comparator 升序、降序、倒序从源码角度理解
  5. 【渝粤教育】国家开放大学2018年春季 0273-22T中国现代文学 参考试题
  6. 为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢...
  7. 学习SQL:SQL Server日期和时间函数
  8. 区间DP HDU 2476
  9. java selector wakeup_Selector
  10. [LeetCode] NO. 349 Intersection of Two Arrays
  11. 锐捷校园网使用python登录
  12. ASF文件格式详解(1)
  13. 珠联网络棋牌游戏 v2.95a 官方
  14. winscp开启ftp_WinSCP连接FTP上传下载文件教程
  15. RabbitMQ——01安装
  16. bootstrap之invalid-feedback
  17. 2010中国移动开发者大会21日开幕 揭密五大亮
  18. html浏览器兼容moz,webkit_css3中-moz、-ms、-webkit各什么意思
  19. Drupal < 7.32 “Drupalgeddon” SQL注入漏洞(CVE-2014-3704)漏洞复现
  20. win10如何修改系统文件夹名字

热门文章

  1. 保障局域网访问internet速度与安全
  2. python操作有道云_Python3调用有道云AI,进行文字识别
  3. 以下是2023年8000元装机配置的建议:
  4. 金山词霸2007注册码
  5. 牛店网:手机淘宝淘友圈是什么?怎么开启?
  6. 《动手学ROS2》3.4小游戏_小乌龟求偶大作战
  7. flutter引入高德地图_Flutter高德地图插件
  8. 前端案例 - 导航条菜单的制作
  9. Google 数据可视化团队:数据可视化指南(中文版)
  10. 回归分析模型优劣判断