public str 5000 amountInWords(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,
millions, billions, trillions;
int64 temp ;
str 200
returntxt;
real fracnum=frac(_num);
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 1000000000000 :
{
returntxt = returntxt + ' ' + trillions;
_test = modOperator(_test, 1000000000000.00);
break;
}
case 1000000000 :
{
returntxt = returntxt + ' ' + billions;
_test = modOperator(_test, 1000000000);
break;
}
case 1000000 :
{
returntxt = returntxt + ' ' + millions;
_test = modOperator(_test, 1000000);
break;
}
case 1000 :
{
returntxt = returntxt + ' ' + thousands;
_test = modOperator(_test, 1000);
break;
}
case 100 :
{
returntxt = returntxt + ' ' + hundreds;
_test = modOperator(_test, 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";
millions = "@SYS26653";
billions = "@SYS26654";
trillions = "@SYS101697";
test =
checkPower(test, 1000000000000);
test =
checkPower(test, 1000000000);
test =
checkPower(test, 1000000);
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)
{
returntxt
= returntxt + ' '+" Riyals
"+ "@SYS5534" + ' halalas
';
if(numOfPennies>=20)
{
numOfTenths=numOfPennies div 10;
numOfPennies = numOfPennies mod 10;
returntxt = returntxt + ' ' +
tenths[numofTenths];
}
if
(numOfPennies >= 1)
{
numOfTenths = real2int(numOfPennies);
returntxt = returntxt + ' '+ ones[numOfTenths];
}
returntxt =
returntxt;
}
else
{
returntxt
= returntxt +" Riyals ";
}
return returntxt + " Only";
}
No comments:
Post a Comment