0

ルピーの金額をjavascriptの単語に変換する必要があります。ここで、 ConvertToHundredsは、100、10、1 の値を変換する関数です。

var aUnits = ["Thousand", "Lacs", "Crore", "Arab", "Kharab" ];
var cWords; 

var nLeft = Math.floor(s);
var st = new String(nLeft);
for (var i = 0; nLeft > 0; i++) {
  if (i != 0) {
    cWords += ConvertToHundreds(nLeft) + " " + aUnits[i-1] + " " +cWords;
  } else {
    cWords = ConvertToHundreds(nLeft) + " ";
  }

  if (st.length <= 5) {
    nLeft = Math.floor(nLeft / 1000);
  } else if (st.length > 5 && st.length <= 7){
    nLeft = Math.floor(nLeft / 1000) / 100;
    //~ console.log(i);
    i++;
  } else if (st.length > 7 && st.length <= 9) {
    nLeft = Math.floor(nLeft / 1000) /10000;
    i+=2;
  } else if (st.length > 9 && st.length <= 11){
    nLeft = Math.floor(nLeft / 1000) /1000000;
    i+=3;
  } else {
    nLeft = Math.floor(nLeft / 1000) /100000000;
    i+=4;
  }
}

s = Math.round(s * 100) % 100;
var rupee = "Ruppes " + cWords;
if (s > 0)
  cWords = rupee + "and Paise " + ConvertToHundreds(s) + " Only";
else
  cWords = rupee + "Only";

return cWords;

このコードは千の値を表示していません。例: 5,01,000.00 はルピー 5 ラックのみを返します

4

1 に答える 1