home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / dbbooks.zip / ENGLISH.CMD < prev    next >
OS/2 REXX Batch file  |  1987-02-14  |  3KB  |  107 lines

  1.  
  2. *************** Set up numbers.
  3. SET DEFA TO B 
  4. SET TALK OFF
  5.  
  6. STORE ' ' TO U,ENGLISH
  7. STORE 'ONE' TO U1
  8. STORE 'TWO' TO U2
  9. STORE 'THREE' TO U3
  10. STORE 'FOUR' TO U4
  11. STORE 'FIVE' TO U5
  12. STORE 'SIX' TO U6
  13. STORE 'SEVEN' TO U7
  14. STORE 'EIGHT' TO U8
  15. STORE 'NINE' TO U9
  16. STORE 'TEN' TO U10
  17. STORE 'ELEVEN' TO U11
  18. STORE 'TWELVE' TO U12
  19. STORE 'THIRTEEN' TO U13
  20. STORE 'FOURTEEN' TO U14
  21. STORE 'FIFTEEN' TO U15
  22. STORE 'SIXTEEN' TO U16
  23. STORE 'SEVENTEEN' TO U17
  24. STORE 'EIGHTEEN' TO U18
  25. STORE 'NINETEEN' TO U19
  26. STORE 'TWENTY' TO U20
  27. STORE 'THIRTY' TO U30
  28. STORE 'FORTY' TO U40
  29. STORE 'FIFTY' TO U50
  30. STORE 'SIXTY' TO U60
  31. STORE 'SEVENTY' TO U70
  32. STORE 'EIGHTY' TO U80
  33. STORE 'NINETY' TO U90
  34.  
  35. STORE 1 TO COUNTER,START
  36.  
  37. ERASE
  38. ?
  39. ?
  40. INPUT '           ENTER A NUMBER ' TO NUMBER
  41. STORE STR(NUMBER,9,2) TO STRING
  42.  
  43. ****************************** Loop through thousands and hundreds. 
  44. DO WHILE COUNTER < 3
  45.  
  46.    ************************** Split out hundreds, tens, and ones.
  47.    STORE $(STRING,START,3) TO CHUNK
  48.    STORE $(CHUNK,1,1) TO HUN
  49.    STORE $(CHUNK,2,2) TO TEN
  50.    STORE $(CHUNK,3,1) TO ONE
  51.  
  52.    ********************* Handle hundreds.
  53.    IF VAL(CHUNK) > 99
  54.       STORE ENGLISH + U&HUN + ' HUNDRED ' TO ENGLISH
  55.    ENDIF (chunk > 99)
  56.  
  57.  
  58.    ********************* Handle second 2 digits.
  59.    STORE VAL(TEN) TO T
  60.    IF T > 0
  61.  
  62.       DO CASE
  63.  
  64.          ********** Case 1: Handle teens or even tens.
  65.          CASE (INT(T/10.0)=T/10.0) .OR. (T>9 .AND. T<20)
  66.               STORE ENGLISH + U&TEN TO ENGLISH
  67.  
  68.          ********** Case 2: Handle greater than 10 but not evenly divisible.
  69.          CASE T > 9 .AND. (INT(T/10.0)#T/10.0)
  70.               STORE $(TEN,1,1) +'0' TO TEN
  71.               STORE ENGLISH + U&TEN+' '+U&ONE TO ENGLISH
  72.  
  73.          ********** Case 3: Handle less than 10.
  74.          CASE T < 10
  75.               STORE ENGLISH + U&ONE TO ENGLISH
  76.  
  77.       ENDCASE
  78.  
  79.    ENDIF (T > 0)
  80.  
  81.    **************** Add "Thousand" if necessary.
  82.    IF NUMBER > 999.99 .AND. COUNTER = 1
  83.       STORE ENGLISH+' THOUSAND ' TO ENGLISH
  84.    ENDIF (need to add "thousand")
  85.  
  86.    **************** Prepare for pass through hundreds.
  87.    STORE 4 TO START
  88.    STORE COUNTER+1 TO COUNTER
  89.  
  90. ENDDO (while counter < 3.) 
  91.  
  92. ***************** Tack on cents.
  93. IF INT(NUMBER) > 0    
  94.    STORE ENGLISH + " AND " TO ENGLISH
  95. ENDIF
  96.  
  97. STORE ENGLISH + $(STRING,8,2)+"/100" TO ENGLISH
  98.  
  99.  
  100. ***************** Done with conversion.
  101. ?
  102. ?
  103. ? "    ",ENGLISH,"DOLLARS"
  104.  
  105.  
  106.  
  107.