C言語初心者の方が効率よくコードを書けるようになるためには、とりあえず実線することが大切です。
中でもC言語におけるprintf関数の操作は基本といえますが、数値を表示させる際に数値の桁数の指定・空白埋め・0埋め・左詰め・右詰めにするにはどのように処理すればいいのか理解していますか。
ここでは、visual studio codeを用いてC言語におけるPrintfにて数値の桁数の指定・空白埋め・0埋め・左詰め・右詰めにする方法について解説していきますので、参考にしてみてください。
printfにて数値の桁数や空白埋めを指定する方法【整数:C言語】
それでは以下でC言語にてprintf関数にて数値の桁数を指定する方法について確認していきます(windows、Visual Studio Code使用)。
まずはサンプルコードを記載していきます。
int main(void)
{
int renshuu;
renshuu = 800;
printf(“%5d”, renshuu);
}
と記載し、これをメモ帳などに貼り付けていきましょう。
ここで
・数値の型を指定するために int
・数値(整数)に対応する書式として%dを使う
ことをまず覚えておきましょう。
これを元に、数値の桁数を指定していきます。
この時「数値の桁数自体」を指定することはできず「バイト数」を指定することで桁数を決めるのです。
今回は最大で5バイトとしてみます。これに対して「800」は半角の数値(1文字1バイト)が3つ並んでいるため3バイトであり、2バイト分(半角スペース2個分)の空白ができることになります。
なお後に詳しく解説するものの、デフォルトでは「右詰め」になるため空白は左側(先頭)にできると覚えておきましょう。
実際に実行してみます。
これを任意のフォルダに保存し、拡張子を.cに書き換えましょう。
今回はsuuti.cというファイル名で保存してみました。
続いて、Visual Studio Codeを立ち上げましょう。
さらに以下の領域にsuuti.cファイルをドラッグ&ドロップさせます(普通に読み込ませてもOKです)。
この状態で右い上の実行ボタン(△)を押していきます。
すると、以下のターミナル領域にてprintfを用いて桁数を指定した数値が表示させることができました。
数値の桁数が指定され、2バイト分の空白ができ、右詰め表示されているのがわかりますね。
.exeファイル(windowsのため)も併せて実行してみましょう。
Windowsなのでファイル名+.exe(今回はsuuti.exe)と入力し、ENTERを押すといいです(そのままsuutiと入れるだけでもOKです。)
なお、最大バイト数10などとすれば、先頭の空白が7バイト分(半角スペース7個分)と変更できます。
サンプルコードは以下の通りです。
int main(void)
{
int renshuu;
renshuu = 800;
printf(“%10d”, renshuu);
}
実行させると、桁数や空白の数が変更でき、右詰めのまま(空白埋め)であることが確認できました。
C言語のprintfにて数値の左詰め・右詰めを指定する方法
続いて、printfにて数値を表示させる際に、左詰めや右詰めにする方法について見ていきましょう。
上述の通り、デフォルトではprintfにで数値を出力する際には右詰めです。
そのため左詰めにする際には、変換指定子にて%の後に「-」を入れるといいです。
サンプルコードは以下の通り。
int main(void)
{
int renshuu;
renshuu = 800;
printf(“%-10d”, renshuu);
}
これで実行させてみましょう。
すると、以下のよう数値を左詰めにすることができました。
Printfにて数値を0埋めする方法【C言語】
上では、C言語のprintf関数にて桁数を調整したり、左詰め・右詰めし空白部分を変更したりする方法について確認しました。
ただ、実際に使用時には数値を空白ではなく0埋めしたいことも多いです。
数値の0埋めを行うための、サンプルコードは以下の通りです。
int main(void)
{
int renshuu;
renshuu = 8800;
printf(“%010d”, renshuu);
}
%0桁数dと記載するのがポイントですね。
これを実行させるだけで数値の0埋めが実行されました。
今回は8800という数値に対して10バイト(数値10桁分)と指定しているために、0埋めとして先頭に0が6個分つけることができました。
ここで桁数を5桁分で0埋めにしたいのであれば以下のようなサンプルコードを用いるといいです。
int main(void)
{
int renshuu;
renshuu = 8800;
printf(“%05d”, renshuu);
}
これを再度visual basicにて読み込んでいきましょう。
実行ボタンを押すと、以下のように0埋めしつつ桁数が変更できた数値が出力されました。
まとめ printfにて数値の0埋め・空白埋めを行う方法【C言語】
ここでは、C言語におけるprintf関数にて数値の桁数の変更、空白埋め、0埋めを行う方法について確認しました。
Printf関数での数値の扱いはプログラミングの基礎といえるためこの機会に理解しておくといいです。
C言語に関する各操作を学び、日々の業務に役立てていきましょう。
コメント