1216



function NumberToString(Num){
String(Num);
if(undefined == Num || Num == null || Num == "") {
return "";
}
for(var i=Num.length-1;i>=0;i--) {
Num = Num.replace(",","");//替換tomoney()中的“,”
Num = Num.replace(" ","");//替換tomoney()中的空格
}
//---字符處理完畢,開始轉換,轉換採用前後兩部分分別轉換---//
part = String(Num).split(".");
if(part[0].length > 18){ 
return "over";
}
//去掉金額左側0
/* var amount = parseInt(part[0]);
part[0] = String(amount);*/
newchar = ""; 
//小數點前進行轉化
for(i=part[0].length-1;i>=0;i--) {//若數量超過拾億單位,提示
tmpnewchar = "";
perchar = part[0].charAt(i);
// alert(perchar);
console.log(perchar);
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: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break;
case 10:if(perchar!=0)tmpnewchar= tmpnewchar +"百" ;break;
case 11:if(perchar!=0)tmpnewchar= tmpnewchar +"千" ;break;
case 12:tmpnewchar= tmpnewchar +"萬" ;break;
case 13:if(perchar!=0)tmpnewchar= tmpnewchar +"十" ;break;
case 14:if(perchar!=0)tmpnewchar= tmpnewchar +"百" ;break;
case 15:if(perchar!=0)tmpnewchar= tmpnewchar +"千" ;break;
case 16:tmpnewchar= tmpnewchar +"億" ;break;
case 17:if(perchar!=0)tmpnewchar= tmpnewchar +"十" ;break;
}
newchar = tmpnewchar + newchar;
}
// console.log(newchar);
//小數點之後進行轉化
if (Num.indexOf(".")!=-1) {
if(part[1].length > 2) {
part[1] = part[1].substr(0,2);
}
for(var 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;
}
}
console.log(newchar);
//替換所有無用漢字
var zeroReg = new RegExp("零\+","g");
var wanReg = new RegExp("零萬","g");
var yiReg = new RegExp("零億","g");
var yiwanReg = new RegExp("億萬","g");
console.log(newchar);
newchar = newchar.replace(zeroReg, "零");
console.log(newchar);
newchar = newchar.replace(wanReg, "萬");
newchar = newchar.replace(yiReg, "億");
newchar = newchar.replace(yiwanReg, "億零");
newchar = newchar.replace(zeroReg, "零");
/*while(newchar.search("零零") != -1)
newchar = newchar.replace("零零", "零");
while(newchar.search("零億") != -1)
newchar = newchar.replace("零億", "億");
while(newchar.search("零萬") != -1)
newchar = newchar.replace("零萬", "萬");*/
newchar = newchar.replace("零圓", "圓");
newchar = newchar.replace("零角", "");
newchar = newchar.replace("零分", "");
/*while(newchar.search("億萬") != -1)
newchar = newchar.replace("億萬", "億零");
while(newchar.search("零零") != -1)
newchar = newchar.replace("零零", "零");*/

if (newchar.charAt(0) == "圓"){
newchar = newchar.replace("圓", "");
}
if (newchar.charAt(newchar.length-1) == "圓"){
newchar = newchar+"整";
return newchar;
}else{
return newchar;
}
}
發佈了25 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章