Hi Brian,

I've attached the final FB-compiled o2 below. Let's see if it resolves the rounding problem.

To change the number format, so that positive numbers have a leading space, include this line below rtl64:

num.sns=1

` type numformat`

int dp ' DECIMAL PLACES

int trz ' STRIP TRAILING ZEROS

int sn ' SCIENTIFIC NOTATION BY DEFAULT

int sdp ' INHIBIT ZERO BEFORE DECIMAL POINT

int sns ' LEADING SPACE FOR NON NEGATIVE NUMBERS

int lps ' LEAD PADDING SPACES

end type

'default settins in the RTLs:

'

'---------------------

'NUMBER FORMAT CONTROL

'=====================

'

num.dp =16 ' DECIMAL PLACES

num.trz= 1 ' STRIP TRAILING ZEROS

num.sn = 0 ' SCIENTIFIC NOTATION BY DEFAULT

num.sdp= 0 ' INHIBIT ZERO BEFORE DECIMAL POINT

'implementation in RTL float_to_ascii:

'

'PADDING FOR NON-NEGATIVE NUMBERS

'

cmp num.sns,0

jz fwd nex

mov byte ptr [rdx],32

inc rdx

'