平常金融领域中的数字串要转化为中文的金额,特此记录下:
package demo.tool.api;
public class NumberToChinese {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("2 = " + toChineseNumberCase(2));
NumberToChinese d=new NumberToChinese();
d.numstrToChinese(984456);
}
// 把阿拉伯数字翻译成中文大写数字
public static String toChineseNumberCase(int n) {
String chineseNumber = "";
switch (n) {
case 0: {
chineseNumber = " 零 ";
break;
}
case 1: {
chineseNumber = " 壹 ";
break;
}
case 2: {
chineseNumber = " 贰 ";
break;
}
case 3: {
chineseNumber = " 叁 ";
break;
}
case 4: {
chineseNumber = " 肆 ";
break;
}
case 5: {
chineseNumber = " 伍 ";
break;
}
case 6: {
chineseNumber = " 陆 ";
break;
}
case 7: {
chineseNumber = " 柒 ";
break;
}
case 8: {
chineseNumber = " 捌 ";
break;
}
case 9: {
chineseNumber = " 玖 ";
break;
}
}
return chineseNumber;
}
private static String numstrToChinese(int inNum) {
String[] chineseStr = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
String unitStr[] = new String[] { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟",
"亿" };
String inNumToStr = String.valueOf(inNum);
StringBuffer sb = new StringBuffer();
int len = inNumToStr.length();
String index = null;
for (int i = 0; i < len; i++) {
index = String.valueOf(inNumToStr.charAt(i));
sb.append(chineseStr[Integer.parseInt(index)]);
sb.append(unitStr[len-i-1]);
}
System.out.println("输入数字为:"+inNum+"\n 转化汉字为:"+sb.toString());
return sb.toString();
}
}