阿拉伯數字轉換成中文大寫

package Demo;
public class Money{
public static void main(String args[])
{
Money mon = new Money();
System.out.println(mon.change("124"));
}
//把"1"轉化成1時用下標找TOBIG[1]就是對應的
private static final String[] TOBIG = new String[] { "零", "壹", "貳", "叄",
"肆", "伍", "陸", "柒", "捌", "玖" };
//這裏是單位從低到高的排列
private static final String POS[] = new String[] { "", "拾", "佰", "仟", "萬",
"拾", "佰", "仟", "億", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億" };
public String change(String str)
{
delZero(str);
String newStr ="";
for (int i = 0, j = str.length(); i < j; i++)
{
String s = str.substring(j - i - 1, j - i);
newStr = TOBIG[Integer.parseInt(s)].concat(POS[i])+newStr;
}
// System.out.println(newStr);
newStr = newStr.replace("零仟", "零");
newStr = newStr.replace("零佰", "零");
newStr = newStr.replace("零拾", "零");
newStr = newStr.replace("零萬", "萬");
for(int i= 0;i<8;i++)
newStr = newStr.replace("零零", "零");
newStr = newStr.replace("零仟", "仟");
newStr = newStr.replace("零佰", "佰");
newStr = newStr.replace("零拾", "拾");
newStr = newStr.replace("零萬", "萬");
newStr = newStr.replace("零億", "億");
if(newStr.endsWith("零"))
newStr = newStr.substring(0,newStr.length()-1);
return newStr;
}
// 去除用0開頭的數
private String delZero(String str)
{
if (str.startsWith("0"))
{
str = str.substring(str.indexOf("0") + 1);
System.out.println(str);
return delZero(str);
}
return str;
}
}string

相關文章
相關標籤/搜索