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;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值