home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
basic
/
baswiz18.zip
/
BW$BAS.ZIP
/
FRACFORM.BAS
< prev
next >
Wrap
BASIC Source File
|
1992-08-29
|
1KB
|
39 lines
' +----------------------------------------------------------------------+
' | |
' | BASWIZ Copyright (c) 1990-1992 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