home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
dbbooks.zip
/
ENGLISH.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1987-02-14
|
3KB
|
107 lines
*************** Set up numbers.
SET DEFA TO B
SET TALK OFF
STORE ' ' TO U,ENGLISH
STORE 'ONE' TO U1
STORE 'TWO' TO U2
STORE 'THREE' TO U3
STORE 'FOUR' TO U4
STORE 'FIVE' TO U5
STORE 'SIX' TO U6
STORE 'SEVEN' TO U7
STORE 'EIGHT' TO U8
STORE 'NINE' TO U9
STORE 'TEN' TO U10
STORE 'ELEVEN' TO U11
STORE 'TWELVE' TO U12
STORE 'THIRTEEN' TO U13
STORE 'FOURTEEN' TO U14
STORE 'FIFTEEN' TO U15
STORE 'SIXTEEN' TO U16
STORE 'SEVENTEEN' TO U17
STORE 'EIGHTEEN' TO U18
STORE 'NINETEEN' TO U19
STORE 'TWENTY' TO U20
STORE 'THIRTY' TO U30
STORE 'FORTY' TO U40
STORE 'FIFTY' TO U50
STORE 'SIXTY' TO U60
STORE 'SEVENTY' TO U70
STORE 'EIGHTY' TO U80
STORE 'NINETY' TO U90
STORE 1 TO COUNTER,START
ERASE
?
?
INPUT ' ENTER A NUMBER ' TO NUMBER
STORE STR(NUMBER,9,2) TO STRING
****************************** Loop through thousands and hundreds.
DO WHILE COUNTER < 3
************************** Split out hundreds, tens, and ones.
STORE $(STRING,START,3) TO CHUNK
STORE $(CHUNK,1,1) TO HUN
STORE $(CHUNK,2,2) TO TEN
STORE $(CHUNK,3,1) TO ONE
********************* Handle hundreds.
IF VAL(CHUNK) > 99
STORE ENGLISH + U&HUN + ' HUNDRED ' TO ENGLISH
ENDIF (chunk > 99)
********************* Handle second 2 digits.
STORE VAL(TEN) TO T
IF T > 0
DO CASE
********** Case 1: Handle teens or even tens.
CASE (INT(T/10.0)=T/10.0) .OR. (T>9 .AND. T<20)
STORE ENGLISH + U&TEN TO ENGLISH
********** Case 2: Handle greater than 10 but not evenly divisible.
CASE T > 9 .AND. (INT(T/10.0)#T/10.0)
STORE $(TEN,1,1) +'0' TO TEN
STORE ENGLISH + U&TEN+' '+U&ONE TO ENGLISH
********** Case 3: Handle less than 10.
CASE T < 10
STORE ENGLISH + U&ONE TO ENGLISH
ENDCASE
ENDIF (T > 0)
**************** Add "Thousand" if necessary.
IF NUMBER > 999.99 .AND. COUNTER = 1
STORE ENGLISH+' THOUSAND ' TO ENGLISH
ENDIF (need to add "thousand")
**************** Prepare for pass through hundreds.
STORE 4 TO START
STORE COUNTER+1 TO COUNTER
ENDDO (while counter < 3.)
***************** Tack on cents.
IF INT(NUMBER) > 0
STORE ENGLISH + " AND " TO ENGLISH
ENDIF
STORE ENGLISH + $(STRING,8,2)+"/100" TO ENGLISH
***************** Done with conversion.
?
?
? " ",ENGLISH,"DOLLARS"