00000000: 39 30 30 30 20 44 49 4D 20 53 54 52 4E 55 4D 24 |9000 DIM STRNUM$|
00000010: 20 4F 46 20 35 0D 39 30 31 30 20 49 4E 50 55 54 | OF 5.9010 INPUT|
00000020: 20 22 4E 55 4D 42 45 52 3A 20 22 3A 20 4E 55 4D | "NUMBER: ": NUM|
00000030: 0D 39 30 32 30 20 53 54 52 49 4E 47 28 4E 55 4D |.9020 STRING(NUM|
00000040: 2C 53 54 52 4E 55 4D 24 29 0D 39 30 33 30 20 50 |,STRNUM$).9030 P|
00000050: 52 49 4E 54 20 53 54 52 4E 55 4D 24 0D 39 30 34 |RINT STRNUM$.904|
00000060: 30 20 2F 2F 0D 39 30 35 30 20 50 52 4F 43 20 53 |0 //.9050 PROC S|
00000070: 54 52 49 4E 47 28 4E 55 4D 2C 52 45 46 20 52 45 |TRING(NUM,REF RE|
00000080: 50 4C 59 24 29 20 43 4C 4F 53 45 44 0D 39 30 36 |PLY$) CLOSED.906|
00000090: 30 20 44 49 4D 20 5A 24 20 4F 46 20 31 2C 20 41 |0 DIM Z$ OF 1, A|
000000A0: 4E 53 24 20 4F 46 20 38 0D 39 30 37 30 20 4E 55 |NS$ OF 8.9070 NU|
000000B0: 4D 3A 3D 4E 55 4D 2B 35 45 2D 30 33 20 2F 2F 52 |M:=NUM+5E-03 //R|
000000C0: 4F 55 4E 44 45 44 0D 39 30 38 30 20 59 23 3A 3D |OUNDED.9080 Y#:=|
000000D0: 31 30 30 30 30 0D 39 30 39 30 20 46 4F 52 20 4A |10000.9090 FOR J|
000000E0: 3A 3D 35 20 54 4F 20 31 20 53 54 45 50 20 2D 31 |:=5 TO 1 STEP -1|
000000F0: 20 44 4F 0D 39 31 30 30 20 58 23 3A 3D 49 4E 54 | DO.9100 X#:=INT|
00000100: 28 4E 55 4D 2F 59 23 29 0D 39 31 31 30 20 5A 24 |(NUM/Y#).9110 Z$|
00000110: 3A 3D 43 48 52 24 28 58 23 2B 34 38 29 0D 39 31 |:=CHR$(X#+48).91|
00000120: 32 30 20 49 46 20 5A 24 3C 3E 22 30 22 20 4F 52 |20 IF Z$<>"0" OR|
00000130: 20 41 4E 53 24 3C 3E 22 22 20 54 48 45 4E 20 41 | ANS$<>"" THEN A|
00000140: 4E 53 24 3A 3D 41 4E 53 24 2B 5A 24 0D 39 31 33 |NS$:=ANS$+Z$.913|
00000150: 30 20 4E 55 4D 3A 3D 4E 55 4D 2D 58 23 2A 59 23 |0 NUM:=NUM-X#*Y#|
00000160: 0D 39 31 34 30 20 59 23 3A 3D 59 23 2F 31 30 0D |.9140 Y#:=Y#/10.|
00000170: 39 31 35 30 20 45 4E 44 46 4F 52 20 4A 0D 39 31 |9150 ENDFOR J.91|
00000180: 36 30 20 49 46 20 41 4E 53 24 3D 22 22 20 54 48 |60 IF ANS$="" TH|
00000190: 45 4E 20 41 4E 53 24 3A 3D 22 30 22 0D 39 31 37 |EN ANS$:="0".917|
000001A0: 30 20 41 4E 53 24 3A 3D 41 4E 53 24 2B 22 2E 22 |0 ANS$:=ANS$+"."|
000001B0: 0D 39 31 38 30 20 58 23 3A 3D 49 4E 54 28 4E 55 |.9180 X#:=INT(NU|
000001C0: 4D 2A 31 30 29 0D 39 31 39 30 20 5A 24 3A 3D 43 |M*10).9190 Z$:=C|
000001D0: 48 52 24 28 58 23 2B 34 38 29 0D 39 32 30 30 20 |HR$(X#+48).9200 |
000001E0: 41 4E 53 24 3A 3D 41 4E 53 24 2B 5A 24 0D 39 32 |ANS$:=ANS$+Z$.92|
000001F0: 31 30 20 4E 55 4D 3A 3D 4E 55 4D 2D 58 23 2F 31 |10 NUM:=NUM-X#/1|
00000200: 30 0D 39 32 32 30 20 58 23 3A 3D 49 4E 54 28 4E |0.9220 X#:=INT(N|
00000210: 55 4D 2A 31 30 30 29 0D 39 32 33 30 20 5A 24 3A |UM*100).9230 Z$:|
00000220: 3D 43 48 52 24 28 58 23 2B 34 38 29 0D 39 32 34 |=CHR$(X#+48).924|
00000230: 30 20 41 4E 53 24 3A 3D 41 4E 53 24 2B 5A 24 0D |0 ANS$:=ANS$+Z$.|
00000240: 39 32 35 30 20 4C 3A 3D 4C 45 4E 28 41 4E 53 24 |9250 L:=LEN(ANS$|
00000250: 29 0D 39 32 36 30 20 49 46 20 41 4E 53 24 28 4C |).9260 IF ANS$(L|
00000260: 29 3D 22 30 22 20 54 48 45 4E 0D 39 32 37 30 20 |)="0" THEN.9270 |
00000270: 41 4E 53 24 3A 3D 41 4E 53 24 28 31 3A 4C 2D 31 |ANS$:=ANS$(1:L-1|
00000280: 29 0D 39 32 38 30 20 49 46 20 41 4E 53 24 28 4C |).9280 IF ANS$(L|
00000290: 2D 31 29 3D 22 30 22 20 54 48 45 4E 0D 39 32 39 |-1)="0" THEN.929|
000002A0: 30 20 41 4E 53 24 3A 3D 41 4E 53 24 28 31 3A 4C |0 ANS$:=ANS$(1:L|
000002B0: 2D 33 29 0D 39 33 30 30 20 45 4E 44 49 46 20 0D |-3).9300 ENDIF .|
000002C0: 39 33 31 30 20 45 4E 44 49 46 20 0D 39 33 32 30 |9310 ENDIF .9320|
000002D0: 20 52 45 50 4C 59 24 3A 3D 41 4E 53 24 0D 39 33 | REPLY$:=ANS$.93|
000002E0: 33 30 20 45 4E 44 50 52 4F 43 20 53 54 52 49 4E |30 ENDPROC STRIN|
000002F0: 47 0D |G. |
9000 DIM STRNUM$ OF 5.9010 INPUT "NUMBER
: ": NUM.9020 STRING(NUM,STRNUM$).9030 P
RINT STRNUM$.9040 //.9050 PROC STRING(NU
M,REF REPLY$) CLOSED.9060 DIM Z$ OF 1, A
NS$ OF 8.9070 NUM:=NUM+5E-03 //ROUNDED.9
080 Y#:=10000.9090 FOR J:=5 TO 1 STEP -1
DO.9100 X#:=INT(NUM/Y#).9110 Z$:=CHR$(X
#+48).9120 IF Z$<>"0" OR ANS$<>"" THEN A
NS$:=ANS$+Z$.9130 NUM:=NUM-X#*Y#.9140 Y#
:=Y#/10.9150 ENDFOR J.9160 IF ANS$="" TH
EN ANS$:="0".9170 ANS$:=ANS$+".".9180 X#
:=INT(NUM*10).9190 Z$:=CHR$(X#+48).9200
ANS$:=ANS$+Z$.9210 NUM:=NUM-X#/10.9220 X
#:=INT(NUM*100).9230 Z$:=CHR$(X#+48).924
0 ANS$:=ANS$+Z$.9250 L:=LEN(ANS$).9260 I
F ANS$(L)="0" THEN.9270 ANS$:=ANS$(1:L-1
).9280 IF ANS$(L-1)="0" THEN.9290 ANS$:=
ANS$(1:L-3).9300 ENDIF .9310 ENDIF .9320
REPLY$:=ANS$.9330 ENDPROC STRING.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL