java金额小写转大写(8.2)

import java.util.*;

public class Main
{
	private final static String[] STR_DAXIE = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };  
	private final static String[] STR_DANWEI = { "分","角","元", "拾", "佰", "仟", "万", "拾", "佰", "仟" }; 
	
	public static void main(String[] args) {  
		Scanner sc = new Scanner(System.in);
		String n = sc.next();
		f(n);
	}
	
	public static void f(String n){
		char[] char_num ={'*','*','*','*','*','*','*','*','*','*'};
		String[] arry  = n.split("\\.");//分割字符
		if(arry.length==2)
		{
			char[] hou = arry[1].toCharArray();//小数部分
			for(int i=0;i<hou.length;i++){
				char_num[i]=hou[hou.length-i-1];//小数放入数组
			}
		}
		char[] qian = arry[0].toCharArray();//整数部分
		for(int i=2;i<qian.length+2;i++){
			char_num[i]=qian[qian.length-i+1];//小整数放入数组
		}
			
	
		
		
		for(int j=char_num.length-1;j>=0;j--){
			if(char_num[j]=='*') continue;//等于*表示该位没数,跳出执行下次循环
			int sign = (int)char_num[j]-48;//char的ascii码比十进制多48所以减去48得到对应十进制
			System.out.print(STR_DAXIE[sign]+STR_DANWEI[j]);//拼接
			
		}
			
	}	
	
}



运行结果如下








猜你喜欢

转载自blog.csdn.net/qq_17284055/article/details/75174253