Conversion of numbers(4567) to words greater than Ninety Nine Thousand(99,000)

Hi

Iam trying to convert the numerals to words by the static methods in class Global::numeralsToTxt(112345.20);

but it is working properly upto 10000 level after that words are not matching incase of Lakhs

for eg(123000) - In this case Iam getting output as (One Hundred Twenty Three Thousand)

Instead of

(One Lakh Twenty Three Thousand)

please help me in resolving this.

Thanks

Use the following function to eradicate your problem

Global::numeralsToTxt_IN instead of Global::numeralsToTxt

Hi Lalit

I tried like this Golbal::numeralstoTxt_In(113200.00)

But it is throwing error “numeralstoTxt_In” is not a class function, So i verified the Golbal class in AOT and there is no such method in the class

please suggest me what to do inorder to get that method

Thanks in Advance

Hi,

Link to download ‘numeralstoTxt_In’ method can be found here - http://dynamicsuser.net/forums/p/37370/255801.aspx#255801

hi Vinay,

Try this method

TempStr numerals2Txt_IN(real _num)

{

int numOfPennies = (decround(frac(_num), 2) * 100) mod 100;

real test = _num - frac(_num);

int numOfTenths;

str 20 ones[19], tenths[9], hundreds, thousands, lakhs, crores;

int64 temp;

str 200 returntxt;

str 200 pennytxt;

int penny;

real modOperator(real a1, real a2)

{

int tmpi;

real tmp1, tmp2;

tmp1 = a1 / a2;

tmpi = real2int(tmp1);

tmp2 = tmpi;

return (tmp1 - tmp2)*a2;

}

real checkPower(real _test, int64 _power)

{

int64 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 10000000 :

{

returntxt = returntxt + ’ ’ + Crores;

_test = modOperator(_test, 10000000);

break;

}

case 100000 :

{

returntxt = returntxt + ’ ’ + lakhs;

_test = modOperator(_test, 100000);

break;

}

case 1000 :

{

returntxt = returntxt + ’ ’ + thousands;

_test = modOperator(_test, 1000);

break;

}

case 100 :

{

returntxt = returntxt + ’ ’ + hundreds;

_test = modOperator(_test, 100);

break;

}

}

}

return _test;

}

#Define.text_1(‘One’)

#Define.text_2(‘Two’)

#Define.text_3(‘Three’)

#Define.text_4(‘Four’)

#Define.text_5(‘Five’)

#Define.text_6(‘Six’)

#Define.text_7(‘Seven’)

#Define.text_8(‘Eight’)

#Define.text_9(‘Nine’)

#Define.text_10(‘Ten’)

#Define.text_11(‘Eleven’)

#Define.text_12(‘Twelve’)

#Define.text_13(‘Thirteen’)

#Define.text_14(‘Fourteen’)

#Define.text_15(‘Fifteen’)

#Define.text_16(‘Sixteen’)

#Define.text_17(‘Seventeen’)

#Define.text_18(‘Eighteen’)

#Define.text_19(‘Nineteen’)

#Define.text_20(‘Twenty’)

#Define.text_30(‘Thirty’)

#Define.text_40(‘Forty’)

#Define.text_50(‘Fifty’)

#Define.text_60(‘Sixty’)

#Define.text_70(‘Seventy’)

#Define.text_80(‘Eighty’)

#Define.text_90(‘Ninety’)

#Define.text_100(‘Hundred’)

#Define.text_1000(‘Thousand’)

#Define.text_100000(‘Lakh’)

#Define.text_10000000(‘Crore’)

#Define.text_and(‘Rupees and’)

#Define.text_paise(‘Paise Only’)

#Define.text_ruppe(‘Rupees Only’)

ones[1] = #text_1;

ones[2] = #text_2;

ones[3] = #text_3;

ones[4] = #text_4;

ones[5] = #text_5;

ones[6] = #text_6;

ones[7] = #text_7;

ones[8] = #text_8;

ones[9] = #text_9;

ones[10] = #text_10;

ones[11] = #text_11;

ones[12] = #text_12;

ones[13] = #text_13;

ones[14] = #text_14;

ones[15] = #text_15;

ones[16] = #text_16;

ones[17] = #text_17;

ones[18] = #text_18;

ones[19] = #text_19;

tenths[1] = ‘Not used’;

tenths[2] = #text_20;

tenths[3] = #text_30;

tenths[4] = #text_40;

tenths[5] = #text_50;

tenths[6] = #text_60;

tenths[7] = #text_70;

tenths[8] = #text_80;

tenths[9] = #text_90;

hundreds = #text_100;

thousands = #text_1000;

lakhs = #text_100000;

crores = #text_10000000;

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 = real2int(test);

returntxt = returntxt + ’ ’ + ones[numOfTenths];

}

if (numOfPennies)

{

if (numOfPennies >= 20)

{

penny = numOfPennies div 10;

pennytxt = tenths[penny];

numOfPennies = numOfPennies mod 10;

}

if (numOfPennies >= 1)

{

pennytxt = pennytxt + ’ ’ + ones[numOfPennies];

}

returntxt = returntxt + ’ ’ + #text_and + ’ ’ + pennytxt + ’ ’ +#text_paise;

}

else

{

returntxt = returntxt + ’ ’ + #text_ruppe;

}

return returntxt;

}

Hi Harish,

I found the code and i successfully added it to the Golbal class

Thank you

Hi Piyush,

Thanks for ur suggestion. It worked