import java.math.BigDecimal;public class CurrencyUtil {public CurrencyUtil() {}public static String numToStr(int num) {String[] chinese = new String[]{"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万"};String[] numChinese = new String[]{"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};String str = String.valueOf(num);char[] chars = str.toCharArray();StringBuffer sb = new StringBuffer();for(int i = 0; i < chars.length; ++i) {sb.append(numChinese[Integer.valueOf(String.valueOf(chars[i])).intValue()]).append(chinese[chars.length - i - 1]);}return sb.toString();}public static String numToLocalStr(int num) {String[] chinese = new String[]{"", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万"};String[] numChinese = new String[]{"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};String str = String.valueOf(num);char[] chars = str.toCharArray();StringBuffer sb = new StringBuffer();for(int i = 0; i < chars.length; ++i) {sb.append(numChinese[Integer.valueOf(String.valueOf(chars[i])).intValue()]).append(chinese[chars.length - i - 1]);}return sb.toString() + "元整";}public static String bigDecimalToLocalStr(BigDecimal bigDecimal) {String[] chinese = new String[]{"", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万"};String[] numChinese = new String[]{"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};String[] afterChinese = new String[]{"角", "分"};String str = String.valueOf(bigDecimal);String[] arr = str.split("\\.");char[] chars = arr[0].toCharArray();StringBuffer sb = new StringBuffer();for(int i = 0; i < chars.length; ++i) {sb.append(numChinese[Integer.valueOf(String.valueOf(chars[i])).intValue()]).append(chinese[chars.length - i - 1]);}if (arr.length == 1) {return sb.toString() + "元整";} else if (arr[1].length() > 2) {throw new IllegalArgumentException("人民币大写转换BigDecimal只能保留2位小数");} else {sb.append("元");char[] chars1 = arr[1].toCharArray();for(int i = 0; i < chars1.length; ++i) {sb.append(numChinese[Integer.valueOf(String.valueOf(chars1[i])).intValue()]).append(afterChinese[i]);}return sb.toString();}}public static void main(String[] args) {int num = 1234;System.out.println(numToStr(num));System.out.println(numToLocalStr(num));BigDecimal bigDecimal = new BigDecimal("1234.56");System.out.println(bigDecimalToLocalStr(bigDecimal));}
}

测试结果:

java int类型 BigDecimal类型转成汉字金额大写相关推荐

  1. Java中使用BigDecimal类型比较大小

    BigDecimal使用心得 BigDecimal使用场景 为什么要用BigDecimal 用BigDecimal的compareTo方法做大小判断 BigDecimal使用场景 BigDecimal ...

  2. Java返回前端Bigdecimal类型数据时“0E-8“及小数点多余0的问题

    引用文章 问题场景:因数据库设置的decimal类型数据保留小数点位数过长.导致Java查询数据时,Bigdecimal类型的类字段去映射数据库decimal类型字段时会出现多余且无效的0,直接返回给 ...

  3. C# 将\u1234类型的字符转化成汉字

    用代码获取网页的json数据时,经常会出现\u1234等字符,其实我们是知道他是汉字的 可以用下面的方法将\u1234翻译成汉字 /// <summary>/// /// </sum ...

  4. Java int 转 String 类型,java类型转换

    int类型转String类型有下面几种方式: String var = num + ""; Strng var = String.valueOf(num); String var ...

  5. java int和String类型之间的相互转换

    String --> int 第一种方法:int i = Integer.parseInt(s); 第二种方法:int i = Integer.valueOf(s).intValue(); 两种 ...

  6. Java人民币从数字形式转换成汉字(繁体)!

    一,实验要求 给定一个浮点数,将其转化为金额的中文大写形式字符串.例如,123.45转化为"壹佰贰拾叁元肆角伍分".编写方法,针对以下多种数据情况进一步完善程序. (1)当金额为整 ...

  7. java中的BigDecimal与String的相互转换以及compareTo()方法的使用

    文章目录 1:String类型转BigDecimal类型 2:BigDecimal类型转String类型 3:比较两个BigDecimal值:是否还是使用equals? compareTo()方法 拓 ...

  8. Java中怎么将Long类型转换成Integer或int类型

    Java中怎么将Long类型转换成Integer或int类型?    强转.Long a=10l; int b = (int)a; 不过如果long值超出int的取值范围后再转型的话会有问题的.就是转 ...

  9. java如何将char类型的数字转换成int型的数字

    java如何将char类型的数字转换成int型的数字 public class CharToIntConverter {public static void main(String[] args) { ...

最新文章

  1. mysql菜鸟教程update_PHP MySQL Update
  2. sqlite 日期格式与排序问题
  3. CCF NOI1123 A-B
  4. C++环境的配置( windows)
  5. php mssql 查询数据,PHP中的MSSQL查询问题和查询文本数据
  6. 第 1 篇 Scrum 冲刺博客
  7. 【读书笔记】JavaScript高级编程(一)
  8. Petri net是什么
  9. JavaScript入门概念
  10. 计算机系统盘怎么扩充,c盘扩大,教您怎么把c盘扩大
  11. C++ primer 个人学习总结
  12. 程序使用微软雅黑作为默认字体在xp下的问题
  13. 中粮营销致远A6应用探秘:高速审批执行,营销策略落地
  14. 网易5天python编程课_网易云课堂上自学编程?
  15. 2022年,Lazada开店要交多少钱
  16. CISSP-AIO-快速提示内容梳理
  17. 【NLP】文本分类TorchText实战-AG_NEWS 新闻主题分类任务(PyTorch版)
  18. Python 识别录音并转为文字
  19. 你的生活布满了网络爬虫
  20. CESM简单应用:将HadiSST作为海温强迫场进行CESM控制实验 -compset F FC5 FCN

热门文章

  1. Linux 服务器部署 vue(SPA) 与 nuxt(SSR)项目
  2. Lotus Notes 7.0找不到服务器路径
  3. console,控制台也能玩出花样(console操作大全)
  4. 私有化完成 360回归A股还有哪些障碍?
  5. 远程协作从“特殊”到“常态”,你可能需要的会议平板测评
  6. oracle求累积收益率,解决报表sql中的累计收益率问题?换个姿势,再来一次~
  7. Sencha Touch(Extjs)
  8. Xcode iOS 工程目录结构解析
  9. 吴恩达机器学习课后作业——偏差和方差
  10. 《有限元分析基础教程》(曾攀)笔记一-二维杆单元有限元程序(基于Python)...