m.amt = 2123.45 mtext = dollars(m.amt) ? mtext FUNCTION dollars PARAMETER vnumber * * TAKE NUMBER PASSED AND RETURN THE "TEXT" PHRASE * PRIVATE xnumber,phraseamt DIMENSION ones(20),tens(10) phraseamt = "" ones(1) = "One" ones(2) = "Two" ones(3) = "Three" ones(4) = "Four" ones(5) = "Five" ones(6) = "Six" ones(7) = "Seven" ones(8) = "Eight" ones(9) = "Nine" ones(10) = "Ten" ones(11) = "Eleven" ones(12) = "Twelve" ones(13) = "Thirteen" ones(14) = "Fourteen" ones(15) = "Fifteen" ones(16) = "Sixteen" ones(17) = "Seventeen" ones(18) = "Eighteen" ones(19) = "Nineteen" tens(1) = "Ten" tens(2) = "Twenty" tens(3) = "Thirty" tens(4) = "Forty" tens(5) = "Fifty" tens(6) = "Sixty" tens(7) = "Seventy" tens(8) = "Eighty" tens(9) = "Ninety" tens(10) = "Hundred" * Check for 1,000,000's xnumber = INT(vnumber /1000000) IF xnumber > 0 vnumber = vnumber - (xnumber * 1000000) phraseamt = phraseamt + phrase(xnumber) + " Million" ENDIF * Check for 1,000's xnumber = INT(vnumber /1000) IF xnumber > 0 vnumber = vnumber - (xnumber * 1000) phraseamt = phraseamt + " " + phrase(xnumber) + " Thousand" ENDIF * Check for 1 - 999 xnumber = INT(vnumber) IF xnumber > 0 vnumber = vnumber - xnumber phraseamt = phraseamt + " " + phrase(xnumber) ENDIF * Check for pennies IF "" = phraseamt phraseamt = "No" ENDIF xnumber = INT(vnumber * 100) phraseamt = phraseamt+" and "+RIGHT("00"+LTRIM(STR(xnumber)),2)+"/100" RETURN LTRIM(phraseamt)