ページ 11

変換指定子の書式

Posted: 2009年5月06日(水) 18:35
by チルチル
実数型変数の値が9.55の場合09.55のように表示する変換指定子の書式がわかりません、
%04.2fで行けるかと思ったらできないんですよね・・
こういう場合どうすればいいでしょうか?

Re:変換指定子の書式

Posted: 2009年5月06日(水) 18:42
by たかぎ
> %04.2fで行けるかと思ったらできないんですよね・・

%05.2fでどうですか?
最小フィールド幅は、数値の桁数ではなく、出力する文字列の桁数を制御するものです。
すなわち小数点を含みます。
厳密に言えば、小数点は2桁以上になる可能性がありますので、
printf("%0*.2f", 4 + strlen(localeconv()->decimal_point), 9.55);
とすべきかもしれません。

Re:変換指定子の書式

Posted: 2009年5月07日(木) 08:20
by チルチル
%05.2fにしたら問題なく動作しました、
どうもありがとうございます。