Preventing numbers from showing up in scientific notation
You could use vsnprintf if it's available on your system.  It might seem like a step backwards to use a C-style printf derivative in C++ code, but that's what's used in gcc on my Linux machine.  You can use alloca which allocates space on the stack, or a fixed size (but guaranteed sufficient) local array.

Because your StreamBuffer is not derived from std::ios_base and you haven't provided details of its implementation, I can't really show a code example but I presume that the StreamBuffer&amp; operator&lt;&lt;() either is already or can be adapted to use vsnprintf.