public class Digital1RMB {private static final String[] unit1 = {"万", "千", "百", "十", "元"};private static final String[] unit2 = {"角", "分"};private static final String[] chineseNumber = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入小于十万的一个金额:");Double number = scanner.nextDouble();number = numberCheckAndFormat(number);System.out.println("您输入的金额为:" + number);String capitalNumber = capital(number);System.out.println("转换为大写是:" + capitalNumber);}private static String capital(Double number) {String[] leftAndRight = pointSplit(number);String left = leftAndRight[0];String right = leftAndRight[1];String leftStr = "";if (!"0".equals(left)) {int j = 1;for (int i = left.length() - 1; i >= 0; i--) {int i1 = left.charAt(i) - 48;String str = chineseNumber[i1];if (i1 != 0) {str = str.concat(unit1[unit1.length - j]);}leftStr = str.concat(leftStr);j++;}}String regCharset = "[\\u96f6]{2,}";Pattern pattern = Pattern.compile(regCharset);Matcher matcher = pattern.matcher(leftStr);while (matcher.find()) {System.out.println(matcher.group());}leftStr = matcher.replaceAll("");String rightStr = "";if (!"0".equals(right)) {for (int i = 0; i < right.length(); i++) {int i1 = right.charAt(i) - 48;String str = chineseNumber[i1]; if (!("".equals(leftStr) && i == 0 && i1 == 0)) {rightStr = rightStr.concat(str);}if (i1 != 0) {rightStr = rightStr.concat(unit2[i]);}}}return leftStr + rightStr;}private static String[] pointSplit(Double number) {String[] res = new String[2];String strNumber = number.toString();if (strNumber.contains(".")) {String left = strNumber.split("\\.")[0];String right = strNumber.split("\\.")[1];res[0] = left;res[1] = right;} else {res[0] = number.toString();}return res;}private static Double numberCheckAndFormat(Double number) {if (number >= 100000 || number <= 0) {System.out.println("请输入指定范围内的金额!");System.exit(0);}return Double.valueOf(new DecimalFormat("0.00").format(number));}
}

数字金额转人民币读法,比如93061.48,转换为 玖万叁仟零陆十壹元肆角捌分相关推荐

  1. C#数字金额转人民币大写金额的实现

    要过年了,朋友圈里充斥着各种年的味道,还有一种特别的朋友圈今年格外显眼,好像一股气流冲击着我的小心脏,2022真的是太难了. 这里,专门为各位老板写了一套数字金额转人民币大写金额的实现方法,希望大家都 ...

  2. MySQL及达梦数据库数字金额转人民币大写

    通过改进网上的一些开源代码,修复网上一些转换问题 1.MySQL的转换函数,解决了网上9999以下转换不了的问题,转换精度达千亿,够正常的金额使用. CREATE DEFINER=`root`@`%` ...

  3. android给EditText加金额的属性,带元,角和分,如¥12.34

    功能如标题,代码如下: (本代码 String abc = ""; EditText transactionMoney;//就是随便一个输入框,表示金额 //下面就是给editTe ...

  4. Python数字转人民币读法

    # 数字转人民币读法 (考虑到数据连续为零及小数的处理,但可能还需优化)# 定义中文列表 chinese_list = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', ...

  5. 2-34 中文大写金额。声明RMB人民币类如下,实现其中成员方法。public class rMB // 人民币类 {// 返回金额x的中文大写形式字符串,如x=123 45,转化为“壹佰贰拾

    1.实验题目: 2-34 中文大写金额. 声明RMB人民币类如下,实现其中成员方法. public class rMB // 人民币类 { // 返回金额x的中文大写形式字符串,如x=123 45,转 ...

  6. 1.20 实例:数字转人民币读法

    本节讲解在实际开发中常用的一个方法:将一个浮点数转换成人民币读法字符串,这个程序就需要使用数组. 实现这个方法的思路是,首先把这个浮点数分成整数部分和小数部分.提取整数部分很容易,直接将这个浮点数强制 ...

  7. 人民币大写转换小写数字金额 ts/es6

    /* 这里的金额 只到千万 不含亿元转换 */ /** 如果有亿元 算法和以下一样 加几步就是 */ /**想法: 把金额拆分三个数组分别计算 1. 以万结束为一个2. 以元结束为一个3. 小数 角分 ...

  8. 使用JS将数字金额转为大写的人民币

    使用JS将数字金额转为大写的人民币 刚好今天有时间写文章,就想到了上次做项目时做到的一个需求,拿出来分享一下. 如何将数字金额转为大写人民币? 一点思路 : 封装方法 列出大写人民币的所需的单位 设置 ...

  9. 人民币读法的java程序_Java浮点数转人民币读法

    packagetheTest;public classNumToRmb {private String[] hanArr={"零","壹","贰&qu ...

最新文章

  1. python使用字典格式化字符串-Python中将(字典,列表等)变量格式化输出
  2. 鸟哥的Linux私房菜(服务器)- 第十三章、文件服务器之一:NFS 服务器
  3. [转]经典SQL语句大全
  4. thrift linux java,Apache Thrift环境配置
  5. 【openjudge】 CDQZ challenge 4
  6. Delphi XE5教程1:语言概述
  7. 使用calibre搭建了一套电子图书系统
  8. 韩顺平Java自学笔记 集合
  9. phpwind测试之phpwind安装(二)
  10. 前端必读:浏览器工作原理
  11. 找出java重复字符串,java 找出字符串出现重复的字符和次数
  12. ios中获得UUID的方法
  13. 最快的Android TreeView出现了!
  14. 机器学习技术:使用深度学习处理文本
  15. 洛谷[P3374] [P3368]树状数组(线段树解法)
  16. 关于浏览器的深入解析都在这31张图里!
  17. 电脑监控是真的吗?4个实验一探究竟
  18. switch的简单举例
  19. 【转】委外加工的核算流程
  20. 1231231312

热门文章

  1. 免费cisco路由器软件
  2. Ubuntu18.04 mininet+pox+poxdesk配置
  3. 【技术科普】万纳链共识算法Iris共识算法解析
  4. 圆柱上直线切口,形成三维静态坐标系方程
  5. C++课程设计:实现学生考勤管理系统
  6. 计算机常用计算单位换算关系,计算机单位换算bit(k与bit怎么换算)
  7. 迁移学习笔记——Adapting Component Analysis
  8. 第23章_Tomcat和JavaEE入门
  9. android 录屏不录制自身的悬浮框
  10. android 收费吗,安卓系统会收费吗 安卓系统什么时候开始收费