I made a routine while I was doing laundry that converts a number to a string and I made a routine to take that string and output it on the graph screen appropriately. It isn't very fast, unfortunately, so I am going to work on making it faster (hopefully). However, I feel there is a much more efficient way of doing this if you simply want to display the number. It would require a bunch of variables, though :/

This can be optimised. It take Ans as a real number (not imaginary):

```
PROGRAM:NUMSTR
:Ans→A
:".
:If A<0
:".-
:Ans→Str1
:Abs(A→A
:iPart(A
:If Ans
:Ans/10^(int(1+log(Ans
:Ans→B
:Repeat not(B
:Str1+sub("0123456789",1+int(10B),1→Str1
:fPart(10B→B
:End
:fPart(A→B
:If Ans
:Str1+".→Str1
:While B
:Str1+sub("0123456789",int(10B)+1,1→Str1
:fPart(10B→B
:End
:sub(Str1,2,length(Str1)-1
```

And to display the number in Ans (complex or real numbers):

```
PROGRAM:PRINTNUM
:Ans→C
:".→Str2
:real(C
:If Ans or not(Ans or imag(C
:Then
:prgmNUMSTR
:Str2+Ans→Str2
:End
:imag(C
:If Ans
:Then
:If real(C
:Then
:Str2+sub("-+-,1+(Ans>0),1→Str2
:abs(imag(C
:End
:prgmNUMSTR
:Str2+Ans+"i→Str2
:End
:length(Str2)-1→A
:sub(Str2,2,Ans→Str2
:95-4A→B
:For(C,1,A
:If "."=sub(Str2,C,1
:B+2→B
:End
:Text(0,max(0,B),Str2
```

That was a lot nastier than it needed to be :[