• ベストアンサー

浮動小数点から文字列の変換の時に

浮動小数点floatからStrへの変換をgcvt関数で行なうときに、値が小さいと文字列0.00005が欲しいのに5e-05になってしまいます。 どうすればよいですか?教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

私はgcvtという関数を知りませんが、名前と結果から想像するに、   sprintf( str, "%1.g", f ); ということをしているのではないでしょうか。 (f に 0.00005 を代入して実行すると、str は "5e-05" になります。) printf 系の関数で変換文字に "g" または "G" を指定すると、 ・指数部が -5 以下か、有効精度以上のときは、e または E 変換を行い、 ・それ以外のときは、f 変換を行います。 ※ f 変換は「0.00005」のような小数形式に、g/G 変換は「5e-05(または5E-05)」のような指数形式になります。 素直に f 指定の sprintf 関数を使うか、お手持ちのライブラリから「fcvt」という名前の関数を探すかしてみて下さい。(多分こんな名前になっていると思う。)

kenichi
質問者

お礼

回答ありがとうございましたm(__)m なんとかかんとか解決することが出来ました。ありがとうございます。

関連するQ&A

専門家に質問してみよう