🌞🌞🌞%f出力変換指定子の書式設定%.0fを使って小数点以下の項を含む実数値を小数点以下第1位を四捨五入して整数値に変換してみましょう。🌞🌞🌞


🌞🌞🌞%f出力変換指定子の書式設定%.0fを使って小数点以下の項を含む実数値を小数点以下第1位を四捨五入して整数値に変換してみましょう。🌞🌞🌞




てんC「ここで


       🍅%f出力変換指定子の書式設定%.0fを使って🍅 



小数点以下の項を含む実数値を


小数点以下第1位を四捨五入して整数値に変換してみましょう。」


ぶーにゃん

「おねがいしますにゃん」


てんC


「サンプルとして整数値に変換する


小数点を含む実数値は


次の2つの実数値


567.890123

11111.111


としますね(*^_^*)


まずは


567.890123を


%f出力変換指定子の書式設定%.0fを使って


整数値568に変換してみましょう。


%.0fをつかわず


ふつうに%f出力変換指定子を使って


567.890123をprintf出力表示させると


#include <stdio.h>


int main(void)

{

printf("%f\n", 567.890123);

return 0;

}


プログラムの実行結果(EAZY IDECの場合)

プログラムの実行結果(Visual Studioの場合)


567.890123


となりますね。


ここで

%fを%.0fのように記述すると


#include <stdio.h>


int main(void)

{

printf("%.0f\n", 567.890123);

return 0;

}


プログラムの実行結果(EAZY IDECの場合)

プログラムの実行結果(Visual Studioの場合)


568


となります。


どのような仕組みとなっているのか一緒にみていきましょう。



まず第1に


実数値である567.890123をprintf出力表示するためには


%f出力変換指定子が用いられる必要があります。


さらに


%.〇fの〇の部分に数値を記述することによって


小数点以下何位までprintf出力表示するかを指定できます。


%.5fと記述されたなら


小数点以下5位までがprintf出力表示されますが


そのとき


小数点以下6位が四捨五入されて


小数点以下5位までがprintf出力表示されます。


そして


小数点以下の項を含む実数値を


小数点以下第1位を四捨五入して整数値に変換するということは


小数点以下0位までをprintf出力表示


つまり小数点以下を表示しないことになります。


そこで


小数点以下の項を表示しないようにするには


小数点以下の部分はいらないよ


ということで


%.0fのように


コンマのあとに0をつけたものをfの左側に記述します。


printf("%.0f\n", 567.890123);


が実行されると


567.890123


の小数点以下第1位の8が四捨五入された


568


が表示されることになります




次は


11111.111



%f出力変換指定子の書式設定%0.fを使って整数値11111に変換して表示してみましょう。


#include <stdio.h>


int main(void)

{

printf("%.0f\n", 11111.111);

return 0;

}


プログラムの実行結果(EAZY IDECの場合)

プログラムの実行結果(Visual Studioの場合)


11111


てんC「いかがでしたか


簡単に実数値の小数点以下第1位を四捨五入して整数値に変換することができましたね💖」



ぶーにゃん「%f出力変換指定子の書式設定は


とっても便利にゃんね。」



solarplexuss


小数点以下の部分を表示したくない場合は%.0fはとっても便利ですね




てんCは


”まず第1に


実数値である567.890123をprintf出力表示するためには


%f出力変換指定子が用いられる必要があります。”



といってましたね。


いくら小数点以下を表示せず整数値の部分のみを


printf出力表示するといっても


%.0fを%.0dのように


%f出力変換指定子

%d出力変換指定子


のように


置き換えることはできないのです。



小数点以下を表示しない設定なので


整数値だけが表示されることになるのだから


%d出力変換指定子を使って


%.0dと記述できそうな気がしますが


%.0dと記述してプログラムを実行すると


#include <stdio.h>


int main(void)

{

printf("%.0d\n", 11111.111);

return 0;

}


プログラムの実行結果(EAZY IDECの場合)

プログラムの実行結果(Visual Studioの場合)


893353195


のようなプログラムの実行結果になってしまいます。


つまり


てんCのいうように


まず第1に


実数値である567.890123をprintf出力表示するためには


%f出力変換指定子が用いられる必要があるのですね。






  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る