千家信息网

Java怎么实现人民币小写转换为大写

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文小编为大家详细介绍"Java怎么实现人民币小写转换为大写",内容详细,步骤清晰,细节处理妥当,希望这篇"Java怎么实现人民币小写转换为大写"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
千家信息网最后更新 2026年11月02日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安全错误 数据库的锁怎样保障安全 中智农互联网科技 广东万易互联网科技有限公司惠州分公司 高科技互联网 互联网科技工作委员会毛军 安徽鑫晟辉互联网科技 广西拼得多互联网科技有限公司 富国互联网科技创新基金 湖南洣水互联网科技有限公司扣款 互联网科技项目计划书材料类 互联网为啥属于高科技 互联网媒体平台算高科技产业 南通创西澳互联网科技有限公司 小米互联网科技园入驻 互联网相关科技技术 山东大美朱楼互联网科技有限公司 绵阳真晨互联网科技有限公司 亚光科技低轨卫星互联网 宁波允成互联网科技有限公司 六子台科技互联网展会 每日互联网科技新闻 哈尔滨大商圈互联网科技有限公司 礼当家互联网科技 常德市电业局互联网科技部 世界互联网科技公司市值排名 健康食品互联网创新科技园项目 互联网企业科技类企业如何做账 广州有谷有贝互联网科技有限公司 中国新注册互联网科技 互联网科技和医药行业 宁波允成互联网科技有限公司
0