C++で、floatやdoubleを文字列に変換したいんですが、
to_wstring()は使い易いものの、少数が6桁までしか変換されず、
0.0000001が0.000000となってしまいます。
例えば、0.000000123あればそのように変換されるようにするにはどうすればよいでしょうか?

理屈上はfloatやdoubleの指数部を参照すればそのような変換は可能だと思うのですが、
そのような変換を行う標準的な関数等はないでしょうか?