To find numerals in QATAR = In Global Class, by adding NumberalsToQAR( )

In Global Class, by adding NumberalsToQAR( ):

static TempStr numeralsToTxt_QAR(real _num) { int numOfPennies = (decRound(frac(_num), 2) * 100) mod 100; real test = _num - frac(_num); int64 numOfTenths; str 20 ones[19], tenths[9], hundreds, thousands, millions, billions, trillions; int64 temp; str 200 returntxt; int64 testLoc; boolean checkStatus = false; #define.dirhams("Dirhams") 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) { testLoc = real2double(_test); numOfPower = testLoc 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) { testLoc = real2double(test); numOfTenths = testLoc div 10; returntxt = returntxt + ' ' + tenths[numofTenths]; numOfTenths = numOfTenths mod 10; test = real2int(test) mod 10; } if (test >= 1) { numOfTenths = real2int(test); returntxt = returntxt + ' ' + ones[numOfTenths]; } if (numOfPennies) { returntxt = returntxt +' Qatari Riyal and'; } if (numOfPennies >= 100) { numOfTenths = numOfPennies div 100; returntxt = returntxt +' '+ ones[numofTenths]+ ' ' +hundreds; numOfTenths = numOfTenths mod 100; numOfPennies = numOfPennies mod 100; checkStatus = true; } if (numOfPennies >= 20 && numOfPennies<=99) { numOfTenths = numOfPennies div 10; returntxt = returntxt +' '+ tenths[numofTenths]; numOfTenths = numOfTenths mod 10; numOfPennies = numOfPennies mod 10; checkStatus = true; } if (numOfPennies >= 1) { numOfTenths = real2int(numOfPennies); returntxt = checkStatus == true ? returntxt + ' ' + ones[numOfTenths] : returntxt + ' ' + ones[numOfTenths] + ' ' + #Dirhams + ' only '; checkStatus = true; } if (numOfPennies == 0 && !checkStatus) { returntxt = returntxt + ' ' + " Qatari Riyal Only";//+' '+"@SYS2068"; } return returntxt ;//+ ' ' + #Dirhams + ' only '; }

Comments

Popular posts from this blog

Getting Workflow Approvers In Dynamics AX (AX 2012)

To find details individually for ledgerjournaltrans default dimensions

Creating a numbersequence in form level in ax 2012