Number to Text Routine?

Wayne Germann wgermann at PACIFIC.EDU
Fri Jul 22 20:42:06 UTC 2022

Put this code inside the field you type the dollar amount in numbers.

On evAfter     ;; Event Parameters - pClickedField, pClickedWindow, pMenuLine, pCommandNumber, pRow
Do Money.$ConvertMoney(F_CHECKS.F_CHK_AMOUNT) Returns %%MoneyString
Calculate F_CHECKS.F_CHK_AMT_TEXT as %%MoneyString
Do $cwind.$redraw()

I created an object with the "Money.$ConvertMoney" procedure.  Here is the procedure:

;  convert two decimal number to string for check writing
Calculate moneyString as ''
Calculate thousands as int(moneyAmount/1000)
Calculate hundreds as int(mod(moneyAmount,1000)/100)
Calculate units as mod(int(moneyAmount),100)
Calculate pennies as mod(moneyAmount*100,100)
If thousands>19
Calculate moneyString as con(moneyString,pick(int(thousands/10),'','','Twenty','Thirty','Forty','Fifty','Sixty','Seventy','Eighty','Ninety'),' ')
Calculate moneyString as con(moneyString,pick(mod(thousands,10),'','One','Two','Three','Four','Five','Six','Seven','Eight','Nine'),' ')
Calculate moneyString as con(moneyString,'Thousand ')
Else If thousands>9
Calculate moneyString as con(moneyString,pick(thousands-10,'Ten','Eleven','Twelve','Thirteen','Fourteen','Fifteen','Sixteen','Seventeen','Eighteen','Nineteen'),' Thousand ')
Else If thousands
Calculate moneyString as con(moneyString,pick(thousands,'','One','Two','Three','Four','Five','Six','Seven','Eight','Nine'),' Thousand ')
End If
If hundreds
Calculate moneyString as con(moneyString,pick(hundreds,'','One','Two','Three','Four','Five','Six','Seven','Eight','Nine'),' Hundred ')
End If
If units>19
Calculate moneyString as con(moneyString,pick(int(units/10),'','','Twenty','Thirty','Forty','Fifty','Sixty','Seventy','Eighty','Ninety'),' ')
Calculate moneyString as con(moneyString,pick(mod(units,10),'','One ','Two ','Three ','Four ','Five ','Six ','Seven ','Eight ','Nine '))
Else If units>9
Calculate moneyString as con(moneyString,pick(units-10,'Ten','Eleven','Twelve','Thirteen','Fourteen','Fifteen','Sixteen','Seventeen','Eighteen','Nineteen'),' ')
Calculate moneyString as con(moneyString,pick(units,'','One','Two','Three','Four','Five','Six','Seven','Eight','Nine'),' ')
End If
If moneyAmount<1
Calculate moneyString as 'Zero '
End If
If not(pennies)
Calculate moneyString as con(moneyString,'and no/100')
Calculate moneyString as con(moneyString,'and ',pennies,'/100')
End If
Quit method moneyString

-----Original Message-----
From: omnisdev-en <omnisdev-en-bounces at> On Behalf Of Das Goravani
Sent: Friday, July 22, 2022 12:50 PM
To: OmnisDev List - English <omnisdev-en at>
Subject: Number to Text Routine?

CAUTION: This email originated from outside of Pacific. Do not click any links or open attachments if this is unsolicited email.

Hello All,

One thing I’m working on is the printing of checks.

It’s one thing to have the amount as a number, that’s normal, but to print the check I need the amount in text like:

One Thousand Seven Hundred Thirty Four and 68 cents

Does anyone have a routine that does this conversion ?

I think I could write one, but it would be a bit long, someone might do it smarter than I could do it.


Das Goravani
Manage your list subscriptions at Start a new message -> mailto:omnisdev-en at

More information about the omnisdev-en mailing list