7日目printfの様々な書式指定1(数値の場合)桁数の指定printf()関数の書式指定で%dを指定すると整数を表示できましたが、次のように、桁数を指定することも可能です。100);//5桁で100を表示(空白部分はスペースで埋める)}実行結果00100100%dの前に、数値を書けば、その桁に合わせて数値を表示します。その数値の前に、0を入れれば、空白部分に0を入れた数値が表示されます。実数の桁ぞろえ続いて、実数の桁ぞろえのケースを見て見ましょう。実数の場合は、小数点以下の値もあるので、そちらもあわせて設定しておく必要があります。main(){//空白部分に0がつかないケースprintf("%10.2f¥n",123.456);//全10桁。小数点以下2桁printf("%10.3f¥n",123.456);//全10桁。小数点以下3桁printf("%10.4f¥n",123.456);//全10桁。小数点以下4桁//空白部分に0がつくケースprintf("%010.02f¥n",123.456);//全10桁。小数点以下2桁printf("%010.03f¥n",123.456);//全10桁。小数点以下3桁printf("%010.04f¥n",123.456);//全10桁。小数点以下4桁}実行結果0000123.46000123.45600123.45600000123.46000123.45600123.4560まずは、5行目から7行目のケースを見てください。最初に来る桁数が、全体の桁数を表します。この場合、小数点を含んだ実数を、すべて10桁であらわすことを意味します。.(ピリオド)以下の数値が、小数点以下の桁数です。%10.4fとすれば、小数点以下は4桁であらわされます。5行目の結果からわかるとおり、小数点以下の位が少ない場合は、四捨五入され、逆にあまる場合は、余った部分に0が表示されます。9行目から、12行目は、先頭に0がつくケースです。考え方は、整数の場合と一緒です。文字列の場合も、同様に様々な操作ができます。文字列の表示は、%sを使いますが、この場合も先頭に様々な記述をすることにより、色々な表示方法が実現できます。以下のサンプルを見てください。"ABCDE");//先頭2文字のみ表示}実行結果00000ABCDEABCDEAB%とsの間に、「10s」と指定することで、10文字の文字列の中で、右詰めで文字列が表示されます。文字列のない部分は、空白で補完されます。「-10s」とすれば、10文字での左詰めです。「.2s」とすることで、文字列の先頭2文字のみが表示されています。このようにして、文字列も様々な操作をすることが可能です。printfの様々な書式指定3(誤った型の指定)また、printf()での型の指定は、間違いを起こしやすいので注意が必要です。明らかなエラーにはビルドエラーが出るのですが、エラーが出ない場合も少なくなく、やっかいです。そこで、ここではよくあるprintf()の間違いを紹介します。