將數(shù)字轉(zhuǎn)換為大寫金額
關(guān)于更多日常使用的公共類的操作方法,可以關(guān)注下小滑輪網(wǎng)站 http://www.feiaci.com/#/self/code
/**
* 將數(shù)字轉(zhuǎn)換為大寫金額
*/
function changeToChinese (Num) {
//判斷如果傳遞進(jìn)來的不是字符的話轉(zhuǎn)換為字符
if(typeof Num == "number") {
Num = new String(Num);
};
Num = Num.replace(/,/g, "") //替換tomoney()中的“,”
Num = Num.replace(/ /g, "") //替換tomoney()中的空格
Num = Num.replace(/¥/g, "") //替換掉可能出現(xiàn)的¥字符
if(isNaN(Num)) { //驗(yàn)證輸入的字符是否為數(shù)字
//alert("請檢查小寫金額是否正確");
return "";
};
//字符處理完畢后開始轉(zhuǎn)換,采用前后兩部分分別轉(zhuǎn)換
let part = String(Num).split(".");
let newchar = "";
//小數(shù)點(diǎn)前進(jìn)行轉(zhuǎn)化
for(let i = part[0].length - 1; i >= 0; i--) {
if(part[0].length > 10) {
return "";
//若數(shù)量超過拾億單位,提示
}
let tmpnewchar = ""
let perchar = part[0].charAt(i);
switch(perchar) {
case "0":
tmpnewchar = "零" + tmpnewchar;
break;
case "1":
tmpnewchar = "壹" + tmpnewchar;
break;
case "2":
tmpnewchar = "貳" + tmpnewchar;
break;
case "3":
tmpnewchar = "叁" + tmpnewchar;
break;
case "4":
tmpnewchar = "肆" + tmpnewchar;
break;
case "5":
tmpnewchar = "伍" + tmpnewchar;
break;
case "6":
tmpnewchar = "陸" + tmpnewchar;
break;
case "7":
tmpnewchar = "柒" + tmpnewchar;
break;
case "8":
tmpnewchar = "捌" + tmpnewchar;
break;
case "9":
tmpnewchar = "玖" + tmpnewchar;
break;
}
switch(part[0].length - i - 1) {
case 0:
tmpnewchar = tmpnewchar + "元";
break;
case 1:
if(perchar != 0) tmpnewchar = tmpnewchar + "拾";
break;
case 2:
if(perchar != 0) tmpnewchar = tmpnewchar + "佰";
break;
case 3:
if(perchar != 0) tmpnewchar = tmpnewchar + "仟";
break;
case 4:
tmpnewchar = tmpnewchar + "萬";
break;
case 5:
if(perchar != 0) tmpnewchar = tmpnewchar + "拾";
break;
case 6:
if(perchar != 0) tmpnewchar = tmpnewchar + "佰";
break;
case 7:
if(perchar != 0) tmpnewchar = tmpnewchar + "仟";
break;
case 8:
tmpnewchar = tmpnewchar + "億";
break;
case 9:
tmpnewchar = tmpnewchar + "拾";
break;
}
let newchar = tmpnewchar + newchar;
}
//小數(shù)點(diǎn)之后進(jìn)行轉(zhuǎn)化
if(Num.indexOf(".") != -1) {
if(part[1].length > 2) {
// alert("小數(shù)點(diǎn)之后只能保留兩位,系統(tǒng)將自動(dòng)截?cái)?);
part[1] = part[1].substr(0, 2)
}
for(i = 0; i < part[1].length; i++) {
tmpnewchar = ""
perchar = part[1].charAt(i)
switch(perchar) {
case "0":
tmpnewchar = "零" + tmpnewchar;
break;
case "1":
tmpnewchar = "壹" + tmpnewchar;
break;
case "2":
tmpnewchar = "貳" + tmpnewchar;
break;
case "3":
tmpnewchar = "叁" + tmpnewchar;
break;
case "4":
tmpnewchar = "肆" + tmpnewchar;
break;
case "5":
tmpnewchar = "伍" + tmpnewchar;
break;
case "6":
tmpnewchar = "陸" + tmpnewchar;
break;
case "7":
tmpnewchar = "柒" + tmpnewchar;
break;
case "8":
tmpnewchar = "捌" + tmpnewchar;
break;
case "9":
tmpnewchar = "玖" + tmpnewchar;
break;
}
if(i == 0) tmpnewchar = tmpnewchar + "角";
if(i == 1) tmpnewchar = tmpnewchar + "分";
newchar = newchar + tmpnewchar;
}
}
//替換所有無用漢字
while(newchar.search("零零") != -1)
newchar = newchar.replace("零零", "零");
newchar = newchar.replace("零億", "億");
newchar = newchar.replace("億萬", "億");
newchar = newchar.replace("零萬", "萬");
newchar = newchar.replace("零元", "元");
newchar = newchar.replace("零角", "");
newchar = newchar.replace("零分", "");
if(newchar.charAt(newchar.length - 1) == "元") {
newchar = newchar + "整"
}
return newchar;
}