java将输入的阿拉伯数字金额转换为中文大写金额


前言

将输入的数字字符串中的每一个数字字符转换为中文大写,例如12345转换为壹贰叁肆伍,再将此中文大写和对应的单位一起输出

输出结果为:零佰 零拾 壹万 贰仟 叁佰 肆拾 伍元


一、代码实现

package com.jufe.demo1;

import java.util.Scanner;

public class blog
{
    public static void main(String[] args)
    {
        //输出大写的数字金额,例如235元,输出贰佰叁拾伍元
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入一个整数,用于数据金额的转换:");
        String str=sc.next();
        char []arr1={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
        char []arr2={'零','零','零','零','零','零','零'};
        //使用charAt()方法,得到字符串的一个字符数,将此字符数进行类型强制转换,再减去48,便可得到该字符数字对应的数字
        //得到字符数之后,便将此字符数作为arr1的下标,而后便获得该字符数对应的中文大写
        //将该中文大写字符替换arr2中的字符,7-str.length()+k获得每一次替换的下标
        for(int k=0;k<str.length();k++)
            arr2[7-str.length()+k]=arr1[(int)str.charAt(k)-48];
        //输出所输入的阿拉伯数字的中文金额大写,这里最高设置成了百万,如果想增加金额上限,在arr2中多加入多个字符'零'即可
        System.out.print("此数字转换为中文金额大写为:"+arr2[0]+"佰 "+arr2[1]+"拾 "+arr2[2]+"万 "+arr2[3]+"仟 "+
                arr2[4]+"佰 "+arr2[5]+"拾 "+arr2[6]+"元");
    }
}

二、代码结果

请输入一个整数,用于数据金额的转换:12345
此数字转换为中文金额大写为:零佰 零拾 壹万 贰仟 叁佰 肆拾 伍元
进程已结束,退出代码0

猜你喜欢

转载自blog.csdn.net/qq_61275065/article/details/126546329