數字轉換為中文大寫例項程式碼

antzone發表於2017-03-10

阿拉伯數字轉換成中文大寫在實際生活中比較常見,當然在實際網路中也是常見的,下面就通過一段例項介紹一下如何實現此功能。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
function NoToChinese(num){ 
  if(!/^\d*(\.\d*)?$/.test(num)) { 
    alert("Number is wrong!"); 
    return "Number is wrong!"; 
  } 
  var AA=new Array("零","壹","貳","叄","肆","伍","陸","柒","捌","玖"); 
  var BB=new Array("","拾","佰","仟","萬","億","點",""); 
  var a=("" + num).replace(/(^0*)/g, "").split(".");
  var k=0;
  var re =""; 
  for(var i=a[0].length-1;i>=0;i--) { 
    switch(k) { 
      case 0:
      re=BB[7]+re; 
      break; 
      case 4:
      if(!new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0])) {
        re = BB[4] + re;
      }     
      break; 
      case 8:
      re=BB[5]+re; 
      BB[7]=BB[5]; 
      k=0; 
      break; 
    } 
    if(k%4==2&&a[0].charAt(i+2)!=0&&a[0].charAt(i+1)==0){
      re=AA[0]+re; 
    } 
    if(a[0].charAt(i)!=0){
      re=AA[a[0].charAt(i)]+BB[k%4]+re; 
      k++; 
    }  
  }
  if(a.length>1) { 
    re+=BB[6]; 
    for(var i=0;i<a[1].length;i++) {
      re+= AA[a[1].charAt(i)]; 
    }
  } 
  return re; 
}
console.log(NoToChinese(123))

相關文章