working demo of the problem.
global dim nums(38) as string
nums(0) = "zero"
nums(1) = "one"
nums(2) = "two"
nums(3) = "three"
nums(4) = "four"
nums(5) = "five"
nums(6) = "six"
nums(7) = "seven"
nums(8) = "eight"
nums(9) = "nine"
nums(10) = "ten"
nums(11) = "eleven"
nums(12) = "twelve"
nums(13) = "thirteen"
nums(14) = "fourteen"
nums(15) = "fifteen"
nums(16) = "sixteen"
nums(17) = "seventeen"
nums(18) = "eighteen"
nums(19) = "nineteen"
nums(20) = "twenty"
nums(21) = "thirty"
nums(22) = "fourty"
nums(23) = "fifty"
nums(24) = "sixty"
nums(25) = "seventy"
nums(26) = "eighty"
nums(27) = "ninety"
nums(28) = ""
nums(29) = "thousand"
nums(30) = "million"
nums(31) = "billion"
nums(32) = "trillion"
nums(33) = "quadrillion"
nums(34) = "quintillion"
nums(35) = "sextillion"
nums(36) = "septillion"
nums(37) = "octillion"
nums(38) = "nonillion"
stars$="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
sync on
autocam off
`make object sphere 1,.1
backdrop on
set text font "Aril"
set text size 24
do
set cursor 0,0
b$=entry$(1) : rem specify a one to automatically account for backspace delete
text xh,200,">"+ text$ :rem show text numbers
if right$(b$,1)>chr$(47) and right$(b$,1)<chr$(58) and len(b$)>width :rem check 0 to 9 olny are pressed
width=len(b$) :rem find the lenght
text$=text$+mid$(right$(b$,1),1):rem add last key pressed if a number
else
text$=left$(text$,len(b$)):rem reset lenght for width
width=len(b$) :rem reset width
endif
moneystring$=NumToTxt(text$)
print
print stars$
print NumToTxt(text$)
print moneystring$
print moneystring$+right$(stars$,len(stars$)-(len(moneystring$)))
sync
loop
function NumToTxt(n$)
l = len(n$)
while l mod 3
n$ = "0" + n$
inc l
endwhile
l = l/3
result$ = ""
for i = 0 to l-1
tri$ = right$(n$, 3)
n$ = left$(n$, len(n$)-3)
cur$ = ""
a$ = mid$(tri$, 1)
b$ = mid$(tri$, 2)
c$ = mid$(tri$, 3)
if a$ <> "0"
cur$ = cur$ + nums(int(val(a$))) + " hundred "
if b$ <> "0" or c$ <> "0" then cur$ = cur$ + "and "
else
if i = 0 and l > 1 then cur$ = cur$ + "and "
endif
if b$ <> "1"
if b$ <> "0" then cur$ = cur$ + nums(int(val(b$))+18) + " "
if c$ <> "0" then cur$ = cur$ + nums(int(val(c$))) + " "
else
cur$ = cur$ + nums(int(val(b$ + c$))) + " "
endif
if tri$ = "000"
if i = 0 then cur$ = cur$ + "zero"
else
cur$ = cur$ + nums(i+28) + " "
endif
result$ = cur$ + result$
next i
endfunction result$
Dark Physics makes any hot drink go cold.