/**
* 数字转中文大写
* @param num
* @return
*/
public static String convertCurrencyToChinese(Object num){
if(num==null)
return "";
BigDecimal value = new BigDecimal(num.toString());
//System.out.println(value);
String[] strs = value.toString().split("\\.");
String preDotNum = strs[0];
String format = "";
for(int i=preDotNum.length(),j=preDotNum.length();i>0;i--){
if(preDotNum.charAt(j-i)=='-')
format = format + "负";
else
format = format + numChar2chinese(preDotNum.charAt(j-i),i);
}
format = format.replaceAll("零仟零佰零拾零","零");
format = format.replaceAll("零仟零佰零拾","零");
format = format.replaceAll("零仟零佰","零");
format = format.replaceAll("零仟","零");
format = format.replaceAll("零佰零拾零","零");
format = format.replaceAll("零佰零拾","零");
format = format.replaceAll("零佰","零");
format = format.replaceAll("零拾零","零");
format = format.replaceAll("零拾","零");
format = format.replaceAll("零亿","亿");
format = format.replaceAll("零万","万");
format = format.replaceAll("亿万","亿零");
format = format.replaceAll("零零","零");
if(format.endsWith("零"))
format = format.substring(0,format.length()-1);
format = format + "元";
if(strs.length==2&&!"00".equals(strs[1])&&!"0".equals(strs[1])){
String afterDotNum = strs[1];
for(int i=0;i<afterDotNum.length()&&i<2;i++){
format = format + numChar2chinese(afterDotNum.charAt(i),0-i);
}
}
return format;
}
private static String numChar2chinese(char num,int pos){
String str="";
switch (num) {
case '0':str="零";break;
case '1':str="壹";break;
case '2':str="贰";break;
case '3':str="叁";break;
case '4':str="肆";break;
case '5':str="伍";break;
case '6':str="陆";break;
case '7':str="柒";break;
case '8':str="扒";break;
case '9':str="玖";break;
}
String posName="";
switch (pos){
case -1:posName="分";break;
case 0:posName="角";break;
case 1:break;
case 2:posName="拾";break;
case 3:posName="佰";break;
case 4:posName="仟";break;
case 5:posName="万";break;
case 6:posName="拾";break;
case 7:posName="佰";break;
case 8:posName="仟";break;
case 9:posName="亿";break;
case 10:posName="拾";break;
case 11:posName="佰";break;
case 12:posName="仟";break;
}
return str+posName;
}