2012年5月19日土曜日

【C++】printfのフォーマットまとめ


指定子対応する型説明使用例
%cchar1文字を出力する"%c"
%schar *文字列を出力する"%8s", "%-10s"
%dint, short整数を10進で出力する"%-2d","%03d"
%uunsigned int, unsigned short符号なし整数を10進で出力する"%2u","%02u"
%oint, short,
unsigned int, unsigned short
整数を8進で出力する"%06o","%03o"
%xint, short,
unsigned int, unsigned short
整数を16進で出力する"%04x"
%ffloat実数を出力する"%5.2f"
%efloat実数を指数表示で出力する"%5.3e"
%gfloat実数を最適な形式で出力する"%g"
%ldlong倍精度整数を10進で出力する"%-10ld"
%luunsigned long符号なし倍精度整数を10進で出力する"%10lu"
%lolong, unsigned long倍精度整数を8進で出力する"%12lo"
%lxlong, unsigned long倍精度整数を16進で出力する"%08lx"
%lfdouble倍精度実数を出力する"%8.3lf"


前回と同じく、サイトを参考(コピペ)にしました
http://www.k-cube.co.jp/wakaba/server/format.html

これだけではわからないところがあるので追記

%sのchar * とは charの配列という意味です

使用例にある数字は
%sなら何文字表示するか(-なら最後から)
その他は、.(ドット)の前にあるのが一の位以上の数字をどれだけ表示するか
.(ドット)の後にあるのが小数点以下の数字をどれだけ表示するか
です

例えば
 double a = 68920.5555555;
 printf ("%4.2lf",a);
を実行すると
8920.56
という結果が表示されます
(あくまで表示されるだけで変数の値は変わってない)
(四捨五入されるので6に繰り上がります)

0 件のコメント:

コメントを投稿