Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 4712 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

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.

Posted

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)

Posted

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")];

Posted

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.