home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib35b.dsk
/
DOLLAR.FORMAT.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
2KB
|
34 lines
10 REM *
20 REM * DOLLAR.FORMAT
30 REM * BY ANTONIO DE PASQUALE
40 REM * COPYRIGHT (C) 1989
50 REM * MICROSPARC, INC.
60 REM * CONCORD, MA 01742
70 REM *
80 TEXT : HOME : CLEAR
90 PRINT "DOLLAR.FORMAT": PRINT "COPYRIGHT (C) 1989": PRINT "MICROSPARC, INC."
100 PRINT : PRINT " DOLLAR FORMAT SAMPLE OUTPUT": PRINT : PRINT "ORIGINAL INPUT";: PRINT TAB( 22);"FORMATTED OUTPUT": PRINT
110 FOR X = 1 TO 7: READ V:N = V: GOSUB 1000: PRINT TAB( 3);V;: PRINT TAB( 35 - LEN(N$));N$: NEXT X: PRINT
120 FOR X = 1 TO 7: READ V:N = V: GOSUB 1000: PRINT TAB( 3);V;: PRINT TAB( 35 - LEN(N$));N$: NEXT X
130 VTAB 23: END
140 DATA .00785, 1.337, 23.412, 276658, 4355.458, 58927.1855, 277372.913
150 DATA -.0871,-2.896,-96.3334,-587.7689,-6788.2782,-37889.37,-187124.016
160 REM
170 REM **********************
180 REM * *
190 REM * FORMAT ROUTINE *
200 REM * STARTS HERE *
210 REM * *
220 REM **********************
230 REM
1000 ON (RDFLAG = 1) GOTO 1010: DIM DN(10): DIM DN$(10):RDFLAG = 1
1010 IF N >9999999.99 OR N < -9999999.99 THEN N$ = "*********": RETURN
1020 FOR INDX = 1 TO 10:DN(INDX) = 0:DN$(INDX) = "": NEXT INDX:S$ = MID$ ("$(",1,1 +1 *(N <0)):N = ABS(N)
1030 N = (100 *( INT((N +.0051) *100)/100)) +.001:N$ = ""
1040 FOR INDX = 10 TO 1 STEP -1:N1 = INT(N/10):N2 = INT(N1 *10):N3 = INT(N -N2):DN(INDX) = N3:N = N1: NEXT INDX
1050 FOR INDX = 1 TO 10:DN$(INDX) = STR$(DN(INDX)): NEXT INDX: FOR INDX = 1 TO 8: IF DN$(INDX) = "0" THEN DN$(INDX) = "": NEXT INDX
1060 IF DN$(2) < >"" THEN DN$(2) = DN$(2) +","
1070 IF DN$(5) < >"" THEN DN$(5) = DN$(5) +","
1080 DN$(8) = DN$(8) +".":N$ = S$: IF DN$(8) = "." THEN DN$(8) = "0."
1090 FOR INDX = 1 TO 10:N$ = N$ +DN$(INDX): NEXT INDX: IF LEFT$(N$,2) = "$(" THEN N$ = N$ +")"
1100 RETURN