Java数字转大写金额格式小程序代码

本文介绍了一个简单的Java程序,该程序能够将输入的阿拉伯数字转换为对应的中文大写金额格式,适用于财务和银行场景。程序利用toCharArray()方法将字符串拆分为字符数组,并结合switch语句实现数字与中文大写金额之间的映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    今天看到可以用toCharArray()可以将字符串转换成数组,跟switch结合做个数字转中文大写金额格式的Java小程序,思路也很简单,全篇用switch。由于是字符串,无需担心输入数字过大,可以无限输入,十百千这类名称你也可以无限扩充。先上运行图再上代码,如有不妥请指出:


import java.util.Scanner;
public class demo1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);                        // 创建输入扫描器
        System.out.println("请输入要转换大写的金额:");
        String num=scan.next();
        char[] array=num.toCharArray();             //字符串转换为字符数组
    for(int i=0;i<num.length();i++){                //挨个调用替换中文输出
    switch (array[i]){
        case '1': System.out.print("壹");break;
        case '2': System.out.print("贰");break;
        case '3': System.out.print("叁");break;
        case '4': System.out.print("肆");break;
        case '5': System.out.print("伍");break;
        case '6': System.out.print("陆");break;
        case '7': System.out.print("柒");break;
        case '8': System.out.print("捌");break;
        case '9': System.out.print("玖");break;
        case '0': System.out.print("零");break;
            default: System.out.println("输入有误");
    }
    switch (num.length()-i-1){      /*这段我用来判断字符属于哪个权位 举例:
    数字字符  8   8   8   8   8   8   8   8
    数组标识  0   1   2   3   4   5   6   7
    字符串长度8,我在十位数字(标识为6的)前面输出“佰”,只需循环到i=5再输出即可,8-5-1=2
    这里我本来是想把输入的字符串倒置,然后再转换数组,再通过i确定位数输出十百千之类的
    后来感觉太麻烦,倒置后换成数组,中间加了十百千还要赋值给变量然后再倒置回来恢复正序
    因此这里使用length()字符长度减去i(可能有其他更简便方法欢迎指出)
     */
        case 1: System.out.print("拾"); break;
        case 2: System.out.print("佰"); break;
        case 3: System.out.print("仟"); break;
        case 4: System.out.print("萬"); break;
        case 5: System.out.print("拾"); break;
        case 6: System.out.print("佰"); break;
        case 7: System.out.print("仟"); break;
        case 8: System.out.print("億"); break;
        case 9: System.out.print("拾"); break;
        case 10: System.out.print("佰"); break;
        case 11: System.out.print("仟"); break;
        case 12: System.out.print("萬"); break;
        case 13: System.out.print("兆"); break;
        case 14: System.out.print("拾"); break;
        case 15: System.out.print("佰"); break;
        case 16: System.out.print("仟"); break;
        case 17: System.out.print("萬"); break;
        case 18: System.out.print("京"); break;
        case 19: System.out.print("拾"); break;
        case 20: System.out.print("佰"); break;
    }
}
    }
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值