newLISP 'format' and C printf() are simply differemt things and on purpose. The C function returns the number of characters written, the 'format' function returns the the formatted string.
The format characters for 'format' are only a subset of what can be used in C and there are slight differences how integer precision is handled.