On 29.08.2010 07:06, Nick Sabalausky wrote: > ubyte myByte = 0x09; > writef("%%%.2X", myByte); > writef("%%%02X", myByte); On codepad.org (DMD 1.026 last time I checked), this prints this: %09%09 So it's probably a bug in the new formatting code. I assume it's supposed to follow the C behavior in this case.