题目:
将阿拉伯数字转换为最大写,比如1234转换为壹仟贰佰叁拾肆。
1 package my_package; 2 3 4 public class Transform { 5 private String[] arr1={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; 6 private String[] arr2={"拾","佰","仟","万"}; 7 8 public static void main(String[] args) { 9 Transform t=new Transform(); 10 System.out.println(t.transform(12345)); 11 } 12 13 public StringBuffer transform(int num){ 14 String str=Integer.toString(num); 15 int length=str.length(); 16 StringBuffer result=new StringBuffer(); 17 //遍历字符串的每一个字符 18 for(int i=0;i<length;i++){ 19 //char型数值-相应的阿拉伯数字=48,ASCII码值相差48。比如'3'-3=48 20 int n=str.charAt(i)-48; 21 //刚好是对应的 22 result.append(arr1[n]); 23 24 //不是最后一位,且不为0,就加单位 25 if(i!=length-1 && n!=0){ 26 result.append(arr2[length-i-2]); 27 } 28 29 } 30 return result; 31 } 32 33 }
以上代码只能实现 万 及以下 的转换。