2009-11-21 160 views
2

如何使用Javascript將數字轉換爲單詞?顯示器需要印度盧比和paise格式。如何將數字轉換爲單詞?

+0

快速谷歌搜索產生了這個 - http://www.codeproject.com/KB/vbscript/CurrencyToWord.aspx?msg=2159336。儘管它在vbscript中,但它會給你一個想法。 – 2009-11-21 06:04:56

+3

如果你展示了你試圖做的事情,以及你正在使用的算法,它會有所幫助,否則它聽起來像你不關心這樣做,你只是希望有人免費給你一些代碼。 – 2009-11-21 06:05:24

+1

@詹姆斯布萊克:贊同。不過,OP沒有問「plz指導我」,而不是「plz send me teh codez」;) – 2009-11-21 06:13:07

回答

5

沒有內置功能。

function test_skill() { 
    var junkVal=document.getElementById('rupees').value; 
    junkVal=Math.floor(junkVal); 
    var obStr=new String(junkVal); 
    numReversed=obStr.split(""); 
    actnumber=numReversed.reverse(); 

    if(Number(junkVal) >=0){ 
     //do nothing 
    } 
    else{ 
     alert('wrong Number cannot be converted'); 
     return false; 
    } 
    if(Number(junkVal)==0){ 
     document.getElementById('container').innerHTML=obStr+''+'Rupees Zero Only'; 
     return false; 
    } 
    if(actnumber.length>9){ 
     alert('Oops!!!! the Number is too big to covertes'); 
     return false; 
    } 

    var iWords=["Zero", " One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine"]; 
    var ePlace=['Ten', ' Eleven', ' Twelve', ' Thirteen', ' Fourteen', ' Fifteen', ' Sixteen', ' Seventeen', ' Eighteen', ' Nineteen']; 
    var tensPlace=['dummy', ' Ten', ' Twenty', ' Thirty', ' Forty', ' Fifty', ' Sixty', ' Seventy', ' Eighty', ' Ninety' ]; 

    var iWordsLength=numReversed.length; 
    var totalWords=""; 
    var inWords=new Array(); 
    var finalWord=""; 
    j=0; 
    for(i=0; i<iWordsLength; i++){ 
     switch(i) 
     { 
     case 0: 
      if(actnumber[i]==0 || actnumber[i+1]==1) { 
       inWords[j]=''; 
      } 
      else { 
       inWords[j]=iWords[actnumber[i]]; 
      } 
      inWords[j]=inWords[j]+' Only'; 
      break; 
     case 1: 
      tens_complication(); 
      break; 
     case 2: 
      if(actnumber[i]==0) { 
       inWords[j]=''; 
      } 
      else if(actnumber[i-1]!=0 && actnumber[i-2]!=0) { 
       inWords[j]=iWords[actnumber[i]]+' Hundred and'; 
      } 
      else { 
       inWords[j]=iWords[actnumber[i]]+' Hundred'; 
      } 
      break; 
     case 3: 
      if(actnumber[i]==0 || actnumber[i+1]==1) { 
       inWords[j]=''; 
      } 
      else { 
       inWords[j]=iWords[actnumber[i]]; 
      } 
      if(actnumber[i+1] != 0 || actnumber[i] > 0){ 
       inWords[j]=inWords[j]+" Thousand"; 
      } 
      break; 
     case 4: 
      tens_complication(); 
      break; 
     case 5: 
      if(actnumber[i]==0 || actnumber[i+1]==1) { 
       inWords[j]=''; 
      } 
      else { 
       inWords[j]=iWords[actnumber[i]]; 
      } 
      if(actnumber[i+1] != 0 || actnumber[i] > 0){ 
       inWords[j]=inWords[j]+" Lakh"; 
      } 
      break; 
     case 6: 
      tens_complication(); 
      break; 
     case 7: 
      if(actnumber[i]==0 || actnumber[i+1]==1){ 
       inWords[j]=''; 
      } 
      else { 
       inWords[j]=iWords[actnumber[i]]; 
      } 
      inWords[j]=inWords[j]+" Crore"; 
      break; 
     case 8: 
      tens_complication(); 
      break; 
     default: 
      break; 
     } 
     j++; 
    } 

    function tens_complication() { 
     if(actnumber[i]==0) { 
      inWords[j]=''; 
     } 
     else if(actnumber[i]==1) { 
      inWords[j]=ePlace[actnumber[i-1]]; 
     } 
     else { 
      inWords[j]=tensPlace[actnumber[i]]; 
     } 
    } 
    inWords.reverse(); 
    for(i=0; i<inWords.length; i++) { 
     finalWord+=inWords[i]; 
    } 
    document.getElementById('container').innerHTML=obStr+' '+finalWord; 
} 

包括下面的代碼在你的HTML

<input type="text" name="rupees" id="rupees" /> 
<input type="button" name="sr1" value="Click Here" onClick="test_skill()"/> 

<div id="container"></div> 

來源:Convert Amount in numbers to words in JavaScript