JAVA数字转大写中文

whaosoft 2008-12-27
public class NumberToChinese {
private static final String[] hanzi = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
private static String fourToHanZi(String digit) {
int value = 0;
int exponent = 0;
boolean hasZero = false;

StringBuffer chineseDigit = new StringBuffer();
value = Integer.parseInt(digit);

for(exponent = 4; exponent>=0; exponent--) {
String[] unit = {"", "拾", "佰", "仟"};
int divisor = (int)Math.pow(10, exponent);
int result = value / divisor;
if(result != 0) {
chineseDigit.append(hanzi[result]);
chineseDigit.append(unit[exponent]);
hasZero = false;
} else if(result == 0 && !hasZero) {
chineseDigit.append(hanzi[0]);
hasZero = true;
} else
{

}
value = value % divisor;
}
     if(chineseDigit.substring(0,1).equals("零")) {
    return chineseDigit.deleteCharAt(0).toString();
     }
     else{
    return chineseDigit.toString();
     }
}

public static String fourToHanZiBig(String digit) {
     String[] unit = {"圆", "万", "亿"};       
     
     String chineseDigitWan = new String(); //存储万位数字
    
     String chineseDigitYi = new String(); //存储亿位数字
    
     StringBuffer chineseDigit = new StringBuffer();
   
     if(digit.length() <= 5 ) {    
   
    return fourToHanZi(digit); 
   
     } else{ 
       if(digit.length() <= 8 ) {
       chineseDigitWan = digit.substring(0,digit.length() - 4 );
       chineseDigit.append(fourToHanZi(chineseDigitWan)+unit[1]+fourToHanZi(digit.substring(digit.length() - 4,digit.length())));
        }
       else {
       chineseDigitYi = digit.substring(0,digit.length() - 8 );
       chineseDigit.append(fourToHanZi(chineseDigitYi)+unit[2]+fourToHanZi(digit.substring(digit.length() - 8,digit.length() - 4))+unit[1]+fourToHanZi(digit.substring(digit.length() - 4,digit.length()))+unit[0]);
       }
    }
     return chineseDigit.toString();
}


public static void main(String args[]) {
System.out.println(fourToHanZiBig("19814834802"));
}
}


N年前写的这回用就找出来了 没写到亿 因为一般公司都没那么牛进出帐过亿的
By whaosoft
bardo 2011-04-17
建议看看这一个

http://bardo.iteye.com/blog/983559
Global site tag (gtag.js) - Google Analytics