浮動小数点数を文字列として正確に表すには、実際にはいくつかの高速な方法があります。そのうちの1つは、 Grisu、 Florian Loitsch 。
このgithubリポジトリ
CとC++のいくつかのアルゴリズムを比較し、のソースコードが含まれています。 CのGrisu2メソッド
、彼はsprintf
より5.7倍速いと主張しています 。
ただし、同じリポジトリの作成者( Milo Yip )は、おそらくより多くの関数が完全にインライン化されているため、9.1倍高速であると主張されている独自のC++シングルヘッダー実装を提供します。このコードは特別なC++構文を使用しないため、Cへの移植は簡単なはずです。