home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / b / baswiz19.zip / BW$BAS.ZIP / FRACFORM.BAS < prev    next >
BASIC Source File  |  1993-01-29  |  1KB  |  39 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |        BASWIZ  Copyright (c) 1990-1993  Thomas G. Hanlin III         |
  4. '   |                                                                      |
  5. '   |                      The BASIC Wizard's Library                      |
  6. '   |                                                                      |
  7. '   +----------------------------------------------------------------------+
  8.  
  9.    DECLARE FUNCTION FracReduce$(Nr AS STRING)
  10.  
  11.    DEFINT A-Z
  12.  
  13. FUNCTION FracFormat$ (Nr AS STRING, HowToFormat)
  14.    L& = CVL(LEFT$(Nr, 4))
  15.    R& = CVL(MID$(Nr, 5))
  16.    N$ = STR$(L&) + "/" + MID$(STR$(R&), 2)
  17.    IF HowToFormat AND 1 THEN
  18.       s = SGN(L&): IF s = 0 THEN s = 1
  19.       L& = ABS(L&)
  20.       tmp& = L& \ R&
  21.       L& = L& MOD R&
  22.       IF tmp& <> 0& THEN
  23.          N$ = STR$(s * tmp&)
  24.          IF L& <> 0& THEN
  25.             N$ = N$ + STR$(L&) + "/" + MID$(STR$(R&), 2)
  26.          END IF
  27.       ELSE
  28.          N$ = STR$(L& * s) + "/" + MID$(STR$(R&), 2)
  29.       END IF
  30.    ELSEIF HowToFormat AND 2 THEN
  31.       IF R& = 0& THEN
  32.          N$ = "/0 Error"
  33.       ELSE
  34.          N$ = STR$(CDBL(L&) / CDBL(R&))
  35.       END IF
  36.    END IF
  37.    FracFormat$ = N$
  38. END FUNCTION
  39.