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;
//number to text —
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 + ‘ ‘ + “@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 ;
}
return returntxt + “ Only”;
}
No comments:
Post a Comment