mx4px Posted June 9, 2006 Share Posted June 9, 2006 Name & Parameters: [color:red][big] AmountText ( amount ) [/big] Description: Not quite mine, just adapted from a formula posted on the FMP website. Returns the check-style text line given a dollar amount in a number field referenced by the "amount" parameter. As posted, only works with US Currency, but I'm sure it can be modified for anything. Sample Input: 123.45 Results: One Hundred Twenty Three Dollars and Forty Five cents Recursive: no Formula: Choose(Int(Mod(amount;10^12) / 10^11); ""; "One Hundred "; "Two Hundred "; "Three Hundred "; "Four Hundred "; "Five Hundred "; "Six Hundred "; "Seven Hundred "; "Eight Hundred "; "Nine Hundred ") & If(Int(Mod(amount;10^11) / 10^10) = 1; Choose(Int(Mod(amount;10^10) / 10^9); "Ten "; "Eleven "; "Twelve "; "Thirteen "; "Fourteen "; "Fifteen "; "Sixteen "; "Seventeen "; "Eighteen "; "Nineteen "); Choose(Int(Mod(amount;10^11) / 10^10); ""; ""; "Twenty "; "Thirty "; "Forty "; "Fifty "; "Sixty "; "Seventy "; "Eighty "; "Ninety ") & Choose(Int(Mod(amount;10^10) / 10^9); ""; "One "; "Two "; "Three "; "Four "; "Five "; "Six "; "Seven "; "Eight "; "Nine ")) & Case(Int(Mod(amount;10^12)/10^9) and Int(Mod(amount;10^9) / 10^3); "Billion, "; Int(Mod(amount;10^12)/10^9);"Billion ";"") & Choose(Int(Mod(amount;10^9) / 10^8); ""; "One Hundred "; "Two Hundred "; "Three Hundred "; "Four Hundred "; "Five Hundred "; "Six Hundred "; "Seven Hundred "; "Eight Hundred "; "Nine Hundred ") & If(Int(Mod(amount;10^8) / 10^7) = 1; Choose(Int(Mod(amount;10^7) / 10^6); "Ten "; "Eleven "; "Twelve "; "Thirteen "; "Fourteen "; "Fifteen "; "Sixteen "; "Seventeen "; "Eighteen "; "Nineteen "); Choose(Int(Mod(amount;10^8) / 10^7); ""; ""; "Twenty "; "Thirty "; "Forty "; "Fifty "; "Sixty "; "Seventy "; "Eighty "; "Ninety ") & Choose(Int(Mod(amount;10^7) / 10^6); ""; "One "; "Two "; "Three "; "Four "; "Five "; "Six "; "Seven "; "Eight "; "Nine ")) & Case(Int(Mod(amount;10^9)/10^6) and Int(Mod(amount;10^6) / 10^3); "Million, "; Int(Mod(amount;10^9)/10^6);"Million ";"") & Choose(Int(Mod(amount;10^6) / 10^5); ""; "One Hundred "; "Two Hundred "; "Three Hundred "; "Four Hundred "; "Five Hundred "; "Six Hundred "; "Seven Hundred "; "Eight Hundred "; "Nine Hundred ") & If(Int(Mod(amount;10^5) / 10^4) = 1; Choose(Int(Mod(amount;10^4) / 10^3); "Ten "; "Eleven "; "Twelve "; "Thirteen "; "Fourteen "; "Fifteen "; "Sixteen "; "Seventeen "; "Eighteen "; "Nineteen "); Choose(Int(Mod(amount;10^5) / 10^4); ""; ""; "Twenty "; "Thirty "; "Forty "; "Fifty "; "Sixty "; "Seventy "; "Eighty "; "Ninety ") & Choose(Int(Mod(amount;10^4) / 10^3); ""; "One "; "Two "; "Three "; "Four "; "Five "; "Six "; "Seven "; "Eight "; "Nine ")) & Case(Int(Mod(amount;10^6)/10^3) and Int(Mod(amount;10^3) / 10^0); "Thousand, "; Int(Mod(amount;10^6)/10^3);"Thousand ";"") & Choose(Int(Mod(amount;10^3) / 100); ""; "One Hundred "; "Two Hundred "; "Three Hundred "; "Four Hundred "; "Five Hundred "; "Six Hundred "; "Seven Hundred "; "Eight Hundred "; "Nine Hundred ") & If(Int(Mod(amount;100) / 10) = 1; Choose(Int(Mod(amount;10)); "Ten "; "Eleven "; "Twelve "; "Thirteen "; "Fourteen "; "Fifteen "; "Sixteen "; "Seventeen "; "Eighteen "; "Nineteen "); Choose(Int(Mod(amount;100) / 10); ""; ""; "Twenty "; "Thirty "; "Forty "; "Fifty "; "Sixty "; "Seventy "; "Eighty "; "Ninety ") & Choose(Int(Mod(amount;10)); ""; "One "; "Two "; "Three "; "Four "; "Five "; "Six "; "Seven "; "Eight "; "Nine ")) & Case(Int(amount) > 1; "Dollars"; Int(amount) = 1; "Dollar"; "") & If(Mod(amount; 1) and Int(amount);" and ";"") & If(Mod(Int(amount*10); 10) = 1; Choose(Mod(Int(amount*100); 10); "Ten "; "Eleven "; "Twelve "; "Thirteen "; "Fourteen "; "Fifteen "; "Sixteen "; "Seventeen "; "Eighteen "; "Nineteen "); Choose(Mod(Int(amount*10); 10); ""; ""; "Twenty "; "Thirty "; "Forty "; "Fifty "; "Sixty "; "Seventy "; "Eighty "; "Ninety ") & Choose(Mod(Int(amount*100); 10); ""; "One "; "Two "; "Three "; "Four "; "Five "; "Six "; "Seven "; "Eight "; "Nine ")) & Case(Mod(amount; 1) > .01; "cents"; Mod(amount; 1) = .01; "cent";"") Required Functions: Author(s) mx4px Date: 06/09/06 Credits: www.filemaker.com & Andy Frazier Disclaimer: FM Forums does not endorse or warrantee these files are fit for any particular purpose. Do not post or distribute files without written approval from the copyright owner. All files are deemed public domain unless otherwise indictated. Please backup every file that you intend to modify. AmountTextSample.zip Link to comment Share on other sites More sharing options...
Newbies AirCraft Posted June 12, 2006 Newbies Share Posted June 12, 2006 Thanks for this! You are a life saver!!! I had an idea of how I wanted to write it, but was not looking forward to figuring it all out. Thanks!!! Link to comment Share on other sites More sharing options...
Genx Posted November 26, 2006 Share Posted November 26, 2006 ... Isn't this one more straight forward? http://www.briandunning.com/cf/436 Link to comment Share on other sites More sharing options...
mx4px Posted August 15, 2007 Author Share Posted August 15, 2007 Genx, the cf you referenced from Brian's site accomplishes something different...that one will take 123.45 and give you "US$123.45." Mine will take 123.45 and give you "one hundred twenty three dollars and forty-five cents". The point of mine is to give you the amount in WORDS, like you'd see in the text area of a check. Link to comment Share on other sites More sharing options...
Lee Smith Posted August 15, 2007 Share Posted August 15, 2007 The technique has been around for a long time. I just did a search for Numbers to Text, and found this Link There is a file I pointed to, and a CF that Mr. Vodka pointed to. HTH Lee Link to comment Share on other sites More sharing options...
mx4px Posted August 18, 2007 Author Share Posted August 18, 2007 Naturally, Mr. Smith - there is nothing new under the sun!! Also, as I mentioned, the "technique" wasn't mine...it was FMI's; I just modified it slightly to make it available as a CF in case someone needed it that way. The function you referenced (http://www.briandunning.com/cf/22) is indeed something I hadn't seen - but then again it was posted a month after I posted this. Plus it requires two other functions - this one's self-contained. Like all things free, though - use it if you like, don't if you don't!! 'Nuff said. Link to comment Share on other sites More sharing options...
mr_vodka Posted August 18, 2007 Share Posted August 18, 2007 The function you referenced (http://www.briandunning.com/cf/22) is indeed something I hadn't seen - but then again it was posted a month after I posted this. Well thats pretty strange considering that I posted the link to that CF on Wed Nov 09 2005 01:24 PM . Hehe... : Link to comment Share on other sites More sharing options...
mx4px Posted August 18, 2007 Author Share Posted August 18, 2007 Sorry, Mr. Vodka. Just looked at it and it said it was updated in July of '06. Didn't mean to steal your thunder! Link to comment Share on other sites More sharing options...
mr_vodka Posted August 18, 2007 Share Posted August 18, 2007 Nah not stealing any thunder... I was just teasing you. It always helps to have different methods to solve the same problem. : Link to comment Share on other sites More sharing options...
Recommended Posts
This topic is 6104 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