C言語のフォーマット指定子を使った表示桁数変え方

2013年6月18日火曜日

C言語

t f B! P L
C,C++ではよくStringFormatを使って表示します
↓こんなの
printf("こんにちは、今日は%d月%d日だよ!\n",month,day);
sprintf(filename,"出力結果_k=%lf",k);



で、例えばdouble型の出力をしたい場合は通常%lfを使います
しかし「小数点一桁までだけ出力したい」とかいう場合がたまにあります

その時には%.1lfとします

「%」と「lf」の間に「.1」をつけると小数点第1位まで(四捨五入して)表示
「%」と「lf」の間に「.2」をつけると小数点第2位まで(四捨五入して)表示
「%」と「lf」の間に「.3」をつけると小数点第3位まで(四捨五入して)表示





となります。


例を挙げると
double a=123.456;
だとして


printf("a=%lf",a);
出力結果⇒123.456000

printf("a=%.0lf",a);
出力結果⇒123

printf("a=%.1lf",a);
出力結果⇒123.5

printf("a=%.2lf",a);
出力結果⇒123.46

printf("a=%.3lf",a);
出力結果⇒123.456



といった感じ
ちなみにドットの前に数字を入れると足りない数字分のスペースが入る
数字の縦揃えとかに使えそう



printf("a=%3.3lf",a);
出力結果⇒123.456

printf("a=%5.3lf",a);
出力結果⇒   123.456

printf("a=%10.1lf",a);
出力結果⇒       123.5

printf("a=%0.lf",a);
出力結果⇒123.456000







Translate

このブログを検索

  • ()
  • ()
もっと見る

QooQ