[#Menu: Gateway of Tally] Add:Item:Number in Words : Alter: Number in Words [Report: Number in Words] Form :Number in Words Auto :Yes ;;For disappearing "Accept Box" [Form: Number in Words] Part :Number in Words [Part: Number in Words] Lines :MyNumber, MyWords [Line:MyNumber] Field :Short Prompt, MyNumber Local :Field:Short Prompt:Info:"My Number" [Field:My Number] Use :Number Field ;;Align :Right [Line: My Words] Field :Short Prompt, MyWords Local :Field:Short Prompt:Info:"Spells" Local :Fieldefault :Inactive:$$IsEmpty:#MyNumber [Field:My Words] Set as :$$SpellWords:#MyNumber Set Always:Yes Width :60 [Function:SpellWords] Parameter: MyNum : Number Return :String Variable :varLakh :Number Variable :varThousand:Number Variable :varHundred :Number Variable :varTen :Number Variable :varUnit :Number Variable :strNum :String Variable :amtLength :Number Variable :MyWord :String 0009: SET :MyWord: "" 0010: SET :strNum:$$String:##MyNum 0020: SET :strNum:$$ZeroFill:##strNum:8 0030: SET :amtLength:$$StringLength:##strNum 0040: SET :varLakh:$$Number:$$StringPart:##strNum:0##amtLength-5) 0050: SET :varThousand:$$Number:$$StringPart:##strNum##amtLength-5):2 0060: SET :varHundred:$$Number:$$StringPart:##strNum##amtLength-3):1 0070: SET :varTen:$$Number:$$StringPart:##strNum##amtLength-2):2 ;0080: SET :varUnit:$$Number:$$StringPart:##strNum##amtLength-1):1 0090: IF :##varLakh > 0 0100: SET :MyWord :$$InWords:##varLakh + " Lakh " ;0101: SET :MyWord :$$GetTens:##varLakh + "Lakh " 0110: END IF 0120: IF :##varThousand > 0 0130: SET :MyWord :##MyWord + $$GetTens:##varThousand + "Thousand " 0140: END IF 0150: IF :##varHundred > 0 0160: SET :MyWord :##MyWord + $$GetUnits:##varHundred + "Hundred and " 0170: END IF 0180: IF :##varTen > 0 0190: SET :MyWord :##MyWord + $$GetTens:##varTen 0200: END IF 0220: RETURN :##MyWord + "Only." [Function:GetTens] Parameter :MyNum :Number Return :String Variable :strWords :String Variable :Tens :Number Variable :Units :Number 0009: SET:strWords: "" 0010: If :##MyNum <= 19 0020: DO IF :##MyNum = 10 :SET :strWords:"Ten " 0030: DO IF :##MyNum = 11 :SET :strWords:"Eleven " 0040: DO IF :##MyNum = 12 :SET :strWords:"Twelve " 0050: DO IF :##MyNum = 13 :SET :strWords:"Thirteen " 0060: DO IF :##MyNum = 14 :SET :strWords:"Fourteen " 0070: DO IF :##MyNum = 15 :SET :strWords:"Fifteen " 0080: DO IF :##MyNum = 16 :SET :strWords:"Sixteen " 0090: DO IF :##MyNum = 17 :SET :strWords:"Seventeen " 0100: DO IF :##MyNum = 18 :SET :strWords:"Eighteen " 0101: DO IF :##MyNum = 19 :SET :strWords:"Nineteen " 0102: SET: strWords:##strWords + $$GetUnits:##MyNum 0110: End If 0120: If :##MyNum >= 20 0121: Set:Tens:$$Number:$$StringPart$$ZeroFill$$String:##MyNum):2):0:1 0130: DO IF :##Tens = 2 :SET :strWords:"Twenty " 0140: DO IF :##Tens = 3 :SET :strWords:"Thirty " 0150: DO IF :##Tens = 4 :SET :strWords:"Forty " 0160: DO IF :##Tens = 5 :SET :strWords:"Fifty " 0170: DO IF :##Tens = 6 :SET :strWords:"Sixty " 0180: DO IF :##Tens = 7 :SET :strWords:"Seventy " 0190: DO IF :##Tens = 8 :SET :strWords:"Eighty " 0200: DO IF :##Tens = 9 :SET :strWords:"Ninety " 0210: SET: Units :$$Number:$$StringPart$$ZeroFill$$String:##MyNum):1):1:1 0220: SET: strWords :##strWords + $$GetUnits:##Units 0230: End If 0240: RETURN :##strWords [Function:GetUnits] Parameter:MyNum :Number RETURN :String Variable :UWords :String 0010: SET :UWords:"" 0020: DO IF :##MyNum = 1 :SET :UWords:"One " 0030: DO IF :##MyNum = 2 :SET :UWords:"Two " 0040: DO IF :##MyNum = 3 :SET :UWords:"Three " 0050: DO IF :##MyNum = 4 :SET :UWords:"Four " 0060: DO IF :##MyNum = 5 :SET :UWords:"Five " 0070: DO IF :##MyNum = 6 :SET :UWords:"Six " 0080: DO IF :##MyNum = 7 :SET :UWords:"Seven " 0090: DO IF :##MyNum = 8 :SET :UWords:"Eight " 0100: DO IF :##MyNum = 9 :SET :UWords:"Nine " 0130: RETURN :##UWords ;;end
Nice Tdl sir I want to use it in UAE, as we can't use lakh, we use one hundred thousand for one lakh and one million for 10 lakhs, please advice. Thanks and Regards Tulip