• 将数字金额转换成中文金额


    package test;
    
    ##只能支持千位一下 import java.util.HashMap; import java.util.Map; public class NumberToChineseConverter { private static Map<Integer,String> oneToten=new HashMap<Integer,String>(); static{ oneToten.put(0,"零"); oneToten.put(1,"一"); oneToten.put(2,"二"); oneToten.put(3,"三"); oneToten.put(4,"四"); oneToten.put(5,"五"); oneToten.put(6,"六"); oneToten.put(7,"七"); oneToten.put(8,"八"); oneToten.put(9,"九"); } public static void main(String[] args) { System.out.println(convertToChinese(4338)); } private static String convertToChinese(int number){ int thousand=number/1000; thousand=checkOverTen(thousand); int hundred=number/100; hundred=checkOverTen(hundred); int ten=number/10; ten=checkOverTen(ten); int last=number%10; if(last==0){ return oneToten.get(thousand)+"千"+oneToten.get(hundred)+"百"+oneToten.get(ten)+"十整"; }else{ return oneToten.get(thousand)+"千"+oneToten.get(hundred)+"百"+oneToten.get(ten)+"十"+oneToten.get(last)+"整"; } } private static int checkOverTen(int number){ if(number>10&&number%10!=0){ number=number%10; } return number; } }

      

    package test;
    
    import java.util.HashMap;
    import java.util.Map;
    
    ### 支持到 int 最大值 
    
    public class NumberToChineseConverter {
    	
    	
    	private static Map<Character,String> oneTotenStr=new HashMap<Character,String>();
    	
    	private static String[] chineseformat={"十","百","千","万","十万","百万","千万","亿","十亿"};
    	
    	static{
    		
    		oneTotenStr.put('0',"零");
    		oneTotenStr.put('1',"一");
    		oneTotenStr.put('2',"二");
    		oneTotenStr.put('3',"三");
    		oneTotenStr.put('4',"四");
    		oneTotenStr.put('5',"五");
    		oneTotenStr.put('6',"六");
    		oneTotenStr.put('7',"七");
    		oneTotenStr.put('8',"八");
    		oneTotenStr.put('9',"九");
    	}
    
    	public static void main(String[] args)  {
    		System.out.println(Integer.MAX_VALUE);
    		System.out.println(convertToChinese2(Integer.MAX_VALUE));
    	}	
    	
    	
    	
    	private static String convertToChinese2(int number){
    		String num=String.valueOf(number);
    		return matchUp(num);
    
    		
    	}
    	
    	private static String matchUp(String number){
    		if(number.length()<13){
    			String s="";
    			for(int i=0;i<number.length()-1;i++){
    				char temp=number.charAt(i);
    				s+=oneTotenStr.get(temp)+chineseformat[number.length()-2-i];
    			}
    			char c=number.charAt(number.length()-1);
    			s+=oneTotenStr.get(c);
    			return s;
    		}
    		return "number is over length";
    		
    		
    	}
    	
    }
    

      

    I'm falling off the sky all alone.The courage inside is gonna break the fall. Nothing can dim my light within. I am That I am 程序 = 数据结构 + 算法
  • 相关阅读:
    ABAP-smartforms
    字符串截取,长度获取
    ',' 导致excel 分列显示
    SALV使用
    SALV双击事件,相应另一个SALV
    CLEAR REFRESH区别
    SY-INDEX和SY-TABIX区别
    JIT机制对运行速度的优化
    《大道至简》读后感
    N皇后问题
  • 原文地址:https://www.cnblogs.com/IamThat/p/4338962.html
Copyright © 2020-2023  润新知