Created
February 28, 2019 10:17
-
-
Save d47447/2e5cfc57225feac70268d30f2d7aaeaf to your computer and use it in GitHub Desktop.
X++ code for converting Amount in words
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| display Tempstr numberToRupees() | |
| { | |
| int numOfPennies = frac(TmpChequePrintout.AmountCur)*100 mod 100; | |
| int test = real2int(round(TmpChequePrintout.AmountCur,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"; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment