for i =1 to 10 n =rnd( 1) *10^( int( 10 *rnd(1)) -2) print "Raw number ="; n; "Using custom function ="; FormattedPrint$( n, 16, 5) next i end function FormattedPrint$( n, length, decPlaces) format$ ="#." for i =1 to decPlaces format$ =format$ +"#" next i n$ =using( format$, n) ' remove leading spaces if less than 3 figs left of decimal ' add leading zeros for i =1 to len( n$) c$ =mid$( n$, i, 1) if c$ =" " or c$ ="%" then nn$ =nn$ +"0" else nn$ =nn$ +c$ next i FormattedPrint$ =right$( "000000000000" +nn$, length) ' chop to required length end function