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]);//拼接
			
		}
			
	}	
	
}



運行結果如下








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章