On 32-bit hardware running Windows XP, [format %9.3f "-0.000"] renders " 0.000"
On 64-bit hardware running Windows 7, [format %9.3f "-0.000"] renders " -0.000"
..i.e. the minus-sign is stripped on 32-bit hardware, while it passes thru on 64 bit machine.
System differences in "sprintf" are said to be the culprit.
Manifest on HP 32-bit machine and Dell 64-bit machine, on Tcl 8.5.9/8.5.10/8.5.11 & Tcl8.6b2 tclkits.
Test script
"testit" results from 32bit Windows XP machine
"testit" results from 64bit Windows 7 machine