Andrew5 Posted January 9, 2012 Share 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. Link to comment Share on other sites More sharing options...
Andrew5 Posted January 9, 2012 Author Share 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) Link to comment Share on other sites More sharing options...
Andrew5 Posted January 9, 2012 Author Share 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")]; Link to comment Share on other sites More sharing options...
comment Posted January 9, 2012 Share 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. Link to comment Share on other sites More sharing options...
comment Posted January 9, 2012 Share 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 Link to comment Share on other sites More sharing options...
Recommended Posts
This topic is 4488 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