Number to word in indian format

Contributor ,
Dec 25, 2018

Copy link to clipboard

Copied

I have the following script :

aTens = [ "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"];

aOnes = [ "Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine",

"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen",

"Nineteen" ];

function ConvertToHundreds(num)

{

var cNum, nNum;

var cWords = "";

num %= 1000;

if (num > 99) {

/* Hundreds. */

cNum = String(num);

nNum = Number(cNum.charAt(0));

cWords += aOnes[nNum] + " Hundred";

num %= 100;

if (num > 0)

cWords += " and "

}

if (num > 19) {

/* Tens. */

cNum = String(num);

nNum = Number(cNum.charAt(0));

cWords += aTens[nNum - 2];

num %= 10;

if (num > 0)

cWords += "-";

}

if (num > 0) {

/* Ones and teens. */

nNum = Math.floor(num);

cWords += aOnes[nNum];

}

return cWords;

}

function ConvertToWords(num)

{

var aUnits = [ "Thousand", "Million", "Billion", "Trillion", "Quadrillion" ];

var cWords = (num >= 1 && num < 2) ? "Dollar and " : "Dollars and ";

var nLeft = Math.floor(num);

for (var i = 0; nLeft > 0; i++) {

if (nLeft % 1000 > 0) {

if (i != 0)

cWords = ConvertToHundreds(nLeft) + " " + aUnits[i - 1] + " " + cWords;

else

cWords = ConvertToHundreds(nLeft) + " " + cWords;

}

nLeft = Math.floor(nLeft / 1000);

}

num = Math.round(num * 100) % 100;

if (num > 0)

cWords += ConvertToHundreds(num) + " Cents";

else

cWords += "Zero Cents";

return cWords;

}

This script works perfectly for US number system........but i want this in Indian Number system

like :  50,000 is Fifty Thousand

          5,00,000  is Five Lakhs

         50,00,000 is Fifty Lakhs

         5,00,00,000 is Five crores     i.e     instead of         [ "Thousand", "Million", "Billion", "Trillion", "Quadrillion" ]

                                                                      i want         ["Thousand", "Lakhs", "Crores"]

Thanks.

Most Valuable Participant
Correct answer by Test Screen Name | Most Valuable Participant

Yes it would be possible for you to make these changes if you learn JavaScrops and carefully study how it works. It’s a slightly awkward change.

TOPICS
Acrobat SDK and JavaScript, Windows

Views

180

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Number to word in indian format

Contributor ,
Dec 25, 2018

Copy link to clipboard

Copied

I have the following script :

aTens = [ "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"];

aOnes = [ "Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine",

"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen",

"Nineteen" ];

function ConvertToHundreds(num)

{

var cNum, nNum;

var cWords = "";

num %= 1000;

if (num > 99) {

/* Hundreds. */

cNum = String(num);

nNum = Number(cNum.charAt(0));

cWords += aOnes[nNum] + " Hundred";

num %= 100;

if (num > 0)

cWords += " and "

}

if (num > 19) {

/* Tens. */

cNum = String(num);

nNum = Number(cNum.charAt(0));

cWords += aTens[nNum - 2];

num %= 10;

if (num > 0)

cWords += "-";

}

if (num > 0) {

/* Ones and teens. */

nNum = Math.floor(num);

cWords += aOnes[nNum];

}

return cWords;

}

function ConvertToWords(num)

{

var aUnits = [ "Thousand", "Million", "Billion", "Trillion", "Quadrillion" ];

var cWords = (num >= 1 && num < 2) ? "Dollar and " : "Dollars and ";

var nLeft = Math.floor(num);

for (var i = 0; nLeft > 0; i++) {

if (nLeft % 1000 > 0) {

if (i != 0)

cWords = ConvertToHundreds(nLeft) + " " + aUnits[i - 1] + " " + cWords;

else

cWords = ConvertToHundreds(nLeft) + " " + cWords;

}

nLeft = Math.floor(nLeft / 1000);

}

num = Math.round(num * 100) % 100;

if (num > 0)

cWords += ConvertToHundreds(num) + " Cents";

else

cWords += "Zero Cents";

return cWords;

}

This script works perfectly for US number system........but i want this in Indian Number system

like :  50,000 is Fifty Thousand

          5,00,000  is Five Lakhs

         50,00,000 is Fifty Lakhs

         5,00,00,000 is Five crores     i.e     instead of         [ "Thousand", "Million", "Billion", "Trillion", "Quadrillion" ]

                                                                      i want         ["Thousand", "Lakhs", "Crores"]

Thanks.

Most Valuable Participant
Correct answer by Test Screen Name | Most Valuable Participant

Yes it would be possible for you to make these changes if you learn JavaScrops and carefully study how it works. It’s a slightly awkward change.

TOPICS
Acrobat SDK and JavaScript, Windows

Views

181

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Dec 25, 2018 0
Most Valuable Participant ,
Dec 25, 2018

Copy link to clipboard

Copied

Yes it would be possible for you to make these changes if you learn JavaScrops and carefully study how it works. It’s a slightly awkward change.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 25, 2018 1