Andrew5 Posted January 9, 2012 Posted January 9, 2012 I am looking for a function that will change a number, a dollar amount, to words. I have found two, http://help.filemaker.com/app/answers/detail/a_id/3443/related/1 and http://help.filemaker.com/app/answers/detail/a_id/2860/~/converting-numbers-to-words-or-numbers-to-text I have FM9 Adv. The first link is for a very old version, and the 2nd one fails at the very last ")" with an error. Any ideas out there? Thanks.
Andrew5 Posted January 9, 2012 Author Posted January 9, 2012 I found one, works like a charm. Let([ Millions=Int(Amount/1000000); Thousands=Int((Amount-(Millions * 1000000 ))/1000); Hundreds=Int(Mod(Amount;1000)); Cents=Round((Amount-Int(Amount))*100 +.00005; 2); Millions Text=Choose(Int(Millions/100) ;"";"One";"Two";"Three";"Four";"Five";"Six";"Seven";"Eight";"Nine") & If(Int(Millions/100) > 0;" Hundred ";"") & Choose(Int(Mod(Millions;100)/10);"";"";"Twenty ";"Thirty ";"Forty ";"Fifty"; "Sixty ";"Seventy ";"Eighty ";"Ninety ") & Choose(If(Mod(Millions;100) >= 20;Mod(Millions;10); Mod(Millions;100));""; "One " ;"Two " ;"Three " ;"Four " ;"Five " ;"Six " ;"Seven " ;"Eight ";"Nine " ; "Ten " ;"Eleven " ;"Twelve " ;"Thirteen " ;"Fourteen " ;"Fifteen ";"Sixteen " ; "Seventeen " ;"Eighteen " ;"Nineteen ") & If(Millions > 0;"Million ";""); Thousands Text=Choose(Int(Thousands/100);"";"One";"Two";"Three";"Four";"Five";"Six"; "Seven";"Eight";"Nine") & If(Int(Thousands/100) > 0;" Hundred ";"") & Choose(Int(Mod(Thousands;100)/10);"";"";"Twenty ";"Thirty ";"Forty";"Fifty "; "Sixty ";"Seventy ";"Eighty ";"Ninety ") & Choose(If(Mod(Thousands;100) >= 20;Mod(Thousands;10);Mod(Thousands;100)); "";"One " ;"Two " ;"Three " ;"Four " ;"Five " ;"Six " ;"Seven " ;"Eight ";"Nine " ; "Ten " ;"Eleven " ;"Twelve " ;"Thirteen " ;"Fourteen " ;"Fifteen ";"Sixteen " ; "Seventeen " ;"Eighteen " ;"Nineteen ") & If(Thousands > 0;"Thousand ";""); Hundreds Text=Choose(Int(Hundreds/100);"";"One";"Two";"Three";"Four";"Five";"Six"; "Seven";"Eight";"Nine") & If(Int(Hundreds/100) > 0;" Hundred ";"") & Choose(Int(Mod(Hundreds;100)/10);"";"";"Twenty ";"Thirty ";"Forty";"Fifty "; "Sixty ";"Seventy ";"Eighty ";"Ninety ") & Choose(If(Mod(Hundreds;100) >= 20;Mod(Hundreds;10);Mod(Hundreds;100)); "";"One " ;"Two " ;"Three " ;"Four " ;"Five " ;"Six " ;"Seven " ;"Eight ";"Nine " ; "Ten " ;"Eleven " ;"Twelve " ;"Thirteen " ;"Fourteen " ;"Fifteen ";"Sixteen " ; "Seventeen " ;"Eighteen " ;"Nineteen ") & If(Amount < 1;"No Dollars"; If(Amount < 2;"Dollar";"Dollars")) & " & "; Cents Text=Case(Mod(Cents;100) = 0; "00/100"; Mod(Cents;100) < 10; "0" & Mod(Cents;100); Mod(Cents;100) & "/100")]; Millions Text & Thousands Text & Hundreds Text & Cents Text)
Andrew5 Posted January 9, 2012 Author Posted January 9, 2012 the above I discovered has a bug, here is a correction: Cents Text=Case(Mod(Cents;100) = 0; "00/100"; Mod(Cents;100) < 1; "0" & Mod(Cents;100); Mod(Cents;100) & "/100")];
comment Posted January 9, 2012 Posted January 9, 2012 I found one, works like a charm. Why don't you post a link, so we'll know who you're praising/correcting.
comment Posted January 9, 2012 Posted January 9, 2012 Ah, it's from here: http://fmforums.com/forum/topic/23991-number-to-words-calc-100-one-hundred/page__view__findpost__p__134543 Too bad you didn't read the rest of the thread, and also: http://fmforums.com/forum/topic/49693-convert-numbers-to-text/page__view__findpost__p__232516
Recommended Posts
This topic is 4712 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now