Skip to content
How to print numbers as columns in Commodore BASIC episode artwork

EPISODE · Apr 2, 2018 · 8 MIN

How to print numbers as columns in Commodore BASIC

from Jay's Commodore Podcast · host Jay Versluis

In this episode I’m demonstrating how to print numbers in evenly spaced columns in Commodore BASIC. On the C128 and the Plus/4 we can use a nifty little function called PRINT USING for this, with which we can format the output of any printed text or variable. On the C64 and VIC-20 that function doesn’t ... Read more

Episode metadata supplied by the publisher feed · Published Apr 2, 2018

Embed this episode

In this episode I’m demonstrating how to print numbers in evenly spaced columns in Commodore BASIC. On the C128 and the Plus/4 we can use a nifty little function called PRINT USING for this, with which we can format the output of any printed text or variable. On the C64 and VIC-20 that function doesn’t exist, so we’ll have to convert a numeric value into a string (using the STR$ function), and then determine how long our string is. Following that we’ll have to manually pad our string value with as many spaces as are required. BASIC 3.5 / BASIC 7 Here’s the full code for the C128 and Plus/4, which is based on my earlier Lottery Number generator listing. PRINT USING appears in line 120: 10 x=rnd(-ti) 20 for i=1 to 6 30 rn=int(rnd(1)*49)+1 40 for j=1 to i 50 if n(j)=rn then 30 60 next j 70 n(i)=rn 80 next i 100 print:gosub 200 110 for i=1 to 6 120 print using "#####";n(i); 130 next 140 print 199 goto 20 200 rem bubble sort 210 for i=5 to 1 step -1 220 for j=1 to i 230 x=n(j):y=n(j+1) 240 if x>y then n(j)=y:n(j+1)=x 250 next:next 299 return BASIC 2.0 And here’s the same listing without PRINT USING for the C64 and VIC-20. The string formatting happens in the subroutine in line 300: 10 x=rnd(-ti) 20 for i=1 to 6 30 rn=int(rnd(1)*49)+1 40 for j=1 to i 50 if n(j)=rn then 30 60 next j 70 n(i)=rn 80 next i 100 print:gosub 200 110 for i=1 to 6 120 gosub 300:print a$; 130 next 140 print 199 goto 20 200 rem bubble sort 210 for i=5 to 1 step -1 220 for j=1 to i 230 x=n(j):y=n(j+1) 240 if x>y then n(j)=y:n(j+1)=x 250 next:next 299 return 300 rem space the numbers 310 a$=str$(n(i)) 320 if len(a$)=2 then a$=" "+str$(n(i)) 399 return Any questions, please let me know. Happy retro hacking! PS: It got a bit dark there at the end on my webcam. Help me get some lights by supporting me on Patreon 😉

Distinct summary based on available episode metadata or transcript content.

Ready to play

How to print numbers as columns in Commodore BASIC

0:00 8:48

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of Jay's Commodore Podcast?

This episode is 8 minutes long.

When was this Jay's Commodore Podcast episode published?

This episode was published on April 2, 2018.

Can I download this Jay's Commodore Podcast episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!