Number to Word / Amount In words

Class deceleration:

public class numberToWord
{
}

Create Below method in above Class: 

str method(real _num)
{
int numOfPennies = frac(_num)*100 mod 100;
int test = real2int(round(_num,0));
int paise;
int numOfTenths;
str 20 ones[19], tenths[9], hundreds, thousands, lakhs, crores, millions, billions;
str 40 textpaise;
int tmpnumofpennies;
int temp;
str 200 returntxt;

int checkPower(int _test, int _power)
{
int numOfPower;

if (_test >= _power)
{
numOfPower = _test DIV _power;
if (numOfPower >= 100)
{
temp = numOfPower DIV 100;
returntxt = returntxt + ‘ ‘ + ones[temp] + ‘ ‘ + hundreds;
numOfPower = numOfPower MOD 100;
}
if (numOfPower >= 20)
{
temp = numOfPower DIV 10;
returntxt = returntxt + ‘ ‘ + tenths[temp];
numOfPower = numOfPower MOD 10;
}
if (numOfPower >= 1)
{
returntxt = returntxt + ‘ ‘ + ones[numOfPower];
numOfPower = numOfPower MOD 10;
}
switch(_power)
{
case 1000000000 :
{
returntxt = returntxt + ‘ ‘ + billions;
_test = _test MOD 1000000000;
break;
}
case 10000000 :
{
returntxt = returntxt + ‘ ‘ + crores;
_test = _test MOD 10000000;
break;
}
case 100000 :
{
returntxt = returntxt + ‘ ‘ + lakhs;
_test = _test MOD 100000;
break;
}
case 1000 :
{
returntxt = returntxt + ‘ ‘ + thousands;
_test = _test MOD 1000;
break;
}
case 100 :
{
returntxt = returntxt + ‘ ‘ + hundreds;
_test = _test MOD 100;
break;
}
}
}
return _test;
}

ones[1] = “@SYS26620”;
ones[2] = “@SYS26621”;
ones[3] = “@SYS26622”;
ones[4] = “@SYS26626”;
ones[5] = “@SYS26627”;
ones[6] = “@SYS26628”;
ones[7] = “@SYS26629”;
ones[8] = “@SYS26630”;
ones[9] = “@SYS26631”;
ones[10] = “@SYS26632”;
ones[11] = “@SYS26633”;
ones[12] = “@SYS26634”;
ones[13] = “@SYS26635”;
ones[14] = “@SYS26636”;
ones[15] = “@SYS26637”;
ones[16] = “@SYS26638”;
ones[17] = “@SYS26639”;
ones[18] = “@SYS26640”;
ones[19] = “@SYS26641”;

tenths[1] = ‘Not used’;
tenths[2] = “@SYS26643”;
tenths[3] = “@SYS26644”;
tenths[4] = “@SYS26645”;
tenths[5] = “@SYS26646”;
tenths[6] = “@SYS26647”;
tenths[7] = “@SYS26648”;
tenths[8] = “@SYS26649”;
tenths[9] = “@SYS26650”;

hundreds = “@SYS26651”;
thousands = “@SYS26652”;
lakhs = “Lakh”;
crores = “Crore”;
millions = “@SYS26653”;
billions = “@SYS26654”;
test = checkPower(test, 1000000000);
test = checkPower(test, 10000000);
test = checkPower(test, 100000);
test = checkPower(test, 1000);
test = checkPower(test, 100);

if (test >= 20)
{
numOfTenths = test DIV 10;
returntxt = returntxt + ‘ ‘ + tenths[numofTenths];
numOfTenths = numOfTenths MOD 10;
test = test MOD 10;
}
if (test >= 1)
{
numOfTenths = test;
returntxt = returntxt + ‘ ‘ + ones[numOfTenths];
}
if (numOfPennies)
{
returntxt = returntxt + ‘ ‘ + “@SYS5534” + “\n\n”;
}
paise=numofPennies;
if(paise)
{
if(paise >=20)
{
numofTenths= paise DIV 10;
returntxt=returntxt + ‘ ‘+tenths[numofTenths];
numofTenths = numofTenths MOD 10;
paise=paise MOD 10;
}
if(paise >=1)
{
numOfTenths=paise;
returntxt=returntxt+ ‘ ‘+ones[numOfTenths];
}
returntxt=returntxt+” Paise”;
}

return returntxt + ” Only”;
}

Example:Run the below Job

static void ToTestNumtoWord(Args _args)
{
str word;
NumberToWord num;
num = new NumberToWord();
word = num.method(122543.65);
info(strFmt(“%1”,word));
}

Output is:

One Lakh Twenty Two Thousand Five Hundred Forty Three and

Sixty Five Paise Only

Or

You can use a method in Global class named “numeralsToTxt_IN()”

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s