Code:
```CLS

PRINT fValue2Words(3321234.01)

FUNCTION fValue2Words ( BYVAL Number AS SINGLE ) AS STRING

DIM Cents  AS LOCAL  INTEGER
DIM I      AS LOCAL  INTEGER
DIM Nbr    AS LOCAL  STRING * 15
DIM Poff   AS LOCAL  INTEGER
DIM Temp   AS LOCAL  STRING
DIM Thou   AS LOCAL  INTEGER
DIM V      AS LOCAL  INTEGER
DIM W(38)  AS LOCAL  STRING

'-----------------------------------------------------------------------------
Value2Words:
DATA "ONE "        , "TWO "     , "THREE "   , "FOUR "     : ' numeric values
DATA "FIVE "       , "SIX "     , "SEVEN "   , "EIGHT "    : '
DATA "NINE "       , "TEN "     , "ELEVEN "  , "TWELVE "   : '
DATA "THIRTEEN "   , "FOURTEEN ", "FIFTEEN " , "SIXTEEN "  : '
DATA "SEVENTEEN "  , "EIGHTEEN ", "NINETEEN ", "TWENTY"    : '
DATA "THIRTY"      , "FORTY"    , "FIFTY"    , "SIXTY"     : '
DATA "SEVENTY"     , "EIGHTY"   , "NINETY"   , "HUNDRED "  : '
DATA "THOUSAND "   , "MILLION " , "BILLION " , "TRILLION " : ' 29, 30, 31, 32
DATA "DOLLAR "     , "DOLLARS " , "AND "                   : ' 33, 34, 35
DATA "CENT"        , "CENTS"    , "00 "                    : ' 36, 37, 38
'-----------------------------------------------------------------------------
RESTORE Value2Words
FOR V = 1 TO 38
NEXT
Cents  = ( 100 * FRAC( Number) )                        ' store the decimals
IF Number < 1 THEN                                      ' if no whole numbers
Temp = W(38)                                          '  load up the "00 "
END IF                                                  '
RSET Nbr = STR\$(FIX(Number))                            ' convert value to string
Thou  = 33                                              ' TRILLION data pos
'-------------------------------------------------------'
FOR Poff = 1 TO 13 STEP 3                               ' each 3 digit pos
DECR Thou                                             '  back off TRILLIONs
V = VAL(MID\$(Nbr,Poff,3))                             '  thousands' values
IF V = 0 THEN ITERATE                                 '  nada!
IF V > 99 THEN                                        '  if hundreds pos
I = ( V  \  100 )                                   '   # of hundreds
V = ( V MOD 100 )                                   '   remainder 100
Temp = Temp & W(I) & W(28)                          '   add words
END IF                                                '
IF ( V > 19 ) THEN                                    ' tens (21 is lowest)
I    = ( V  \  10 )                                 '  # of tens
V    = ( V MOD 10 )                                 '  strip tens
Temp = Temp & W(I+18)                               '  add words
IF V > 0 THEN                                       '  hyphen or space
Temp = Temp & "-"                               '
ELSE                                              '
Temp = Temp & " "                               '
END IF                                              '
END IF                                                '
IF V > 0 THEN Temp = Temp & W\$(V)                     '  add more words
IF Poff < 13 THEN Temp = Temp & W\$(Thou)              '  thousands/mills/etc
NEXT                                                    '
'-------------------------------------------------------'
AddCents:                                               ' clean up & finish
IF Number = 1 THEN I = 33 ELSE I = 34                 '  DOLLARS or DOLLAR
IF Cents  = 1 THEN V = 36 ELSE V = 37                 '  CENTS   or CENT
Temp = Temp & W(I) & W(35)            _               '  tack on "DOLLARS AND"
& MID\$(STR\$(Cents+100),3) & " " _         '  tack on "nn "
& W(V)                                    '  tack on "CENTS"
'-------------------------------------------------------'
FUNCTION = Temp                                         ' RETURN the string

END FUNCTION```
------------------
C'ya
Don
[email protected]