これに関連する質問がいくつかありますが、この質問に正しく答えるものは見たことがありません。浮動小数点数を出力したいのですが、小数点以下の桁数を適応させたいです。例として:
0 -> 0
1234 -> 1234
0.1234 -> 0.1234
0.3 -> 0.3
厄介なことに、%f
指定子は固定された精度でのみ出力されるため、その精度に達しないすべての数値に末尾のゼロが追加されます。一連の数値に対して機能する指定子を提案する人もい%g
ますが、次のように、一部の数値では科学表記法に切り替わります。
printf("%g", 1000000.0); // prints 1e+06
実際に小数部を持つ数値の printf の標準精度を維持しながら、不必要なゼロなしで浮動小数点数を出力するにはどうすればよいですか?