home *** CD-ROM | disk | FTP | other *** search
- ' +----------------------------------------------------------------------+
- ' | |
- ' | BASWIZ Copyright (c) 1990-1993 Thomas G. Hanlin III |
- ' | |
- ' | The BASIC Wizard's Library |
- ' | |
- ' +----------------------------------------------------------------------+
-
- DECLARE FUNCTION FracReduce$(Nr AS STRING)
-
- DEFINT A-Z
-
- FUNCTION FracFormat$ (Nr AS STRING, HowToFormat)
- L& = CVL(LEFT$(Nr, 4))
- R& = CVL(MID$(Nr, 5))
- N$ = STR$(L&) + "/" + MID$(STR$(R&), 2)
- IF HowToFormat AND 1 THEN
- s = SGN(L&): IF s = 0 THEN s = 1
- L& = ABS(L&)
- tmp& = L& \ R&
- L& = L& MOD R&
- IF tmp& <> 0& THEN
- N$ = STR$(s * tmp&)
- IF L& <> 0& THEN
- N$ = N$ + STR$(L&) + "/" + MID$(STR$(R&), 2)
- END IF
- ELSE
- N$ = STR$(L& * s) + "/" + MID$(STR$(R&), 2)
- END IF
- ELSEIF HowToFormat AND 2 THEN
- IF R& = 0& THEN
- N$ = "/0 Error"
- ELSE
- N$ = STR$(CDBL(L&) / CDBL(R&))
- END IF
- END IF
- FracFormat$ = N$
- END FUNCTION
-