Java怎么实现人民币小写转换为大写
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文小编为大家详细介绍"Java怎么实现人民币小写转换为大写",内容详细,步骤清晰,细节处理妥当,希望这篇"Java怎么实现人民币小写转换为大写"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
千家信息网最后更新 2026年11月03日Java怎么实现人民币小写转换为大写
本文小编为大家详细介绍"Java怎么实现人民币小写转换为大写",内容详细,步骤清晰,细节处理妥当,希望这篇"Java怎么实现人民币小写转换为大写"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
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怎么实现人民币小写转换为大写"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
伍佰
人民
人民币
大写
小写
内容
小数
小数位
文章
参数
处理
输入
妥当
单位
思路
数字
数据
数组
新知
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中资互联网科技
奇酷互联网科技公司
深圳齐家互联网科技
深圳期待互联网科技
互联网科技英文翻译
四个字互联网科技公司取名
蓝色互联网科技
互联网科技公司的市场部门
中盈科技互联网信息有限公司
随着互联网科技发展
米聚互联网科技南京有限公司排面
华夏恒生科技与互联网科技
互联网金融科技公司的优势
卡尔迅互联网科技有限公司
上海乐五互联网科技有限公司
吉林省码上互联网科技电话
互联网科技新闻
银川新华互联网科技学校原画
马化腾互联网科技教学
高科技和互联网的现代国家
广州百单互联网科技有限公司
互联网属科技
为想互联网科技
中国互联网科技发展
天津摩尔互联网科技
互联网科技logo设计
伴你行互联网科技有限公司
隆华科技工业互联网
互联网教育科技公司vipkid
科技互联网专业务虚会材料