こんにちは。今回は、C言語を使い、値を四捨五入する方法を紹介していきます。四捨五入する方法、「関数を使う方法」と「関数を使わず自力で行う方法」があります。
1. 関数を使わずに四捨五入する方法
では、まず関数を使わずに四捨五入する方法を紹介します。
結論から言ってしまうと、四捨五入は計算結果に0.5を足せばできます。
#include <stdio.h>
int main()
{
double x = 4.6; //四捨五入したい値
int anser;
anser = x + 0.5; //少数点以下切り捨て
printf("%d",ans); //5
}
↑はサンプルコードです。double型の変数xに0.5を足すことでもし、xの小数点第一位が0.5以上なら、繰り上げられます。
また、double型のxをint型のansに代入すると、小数点は切り捨てられるため、結果的に四捨五入できたことになります。
以上が関数を使わずに四捨五入する方法です。
2. 関数を使って四捨五入する方法
次に関数を使って四捨五入する方法を紹介します。
四捨五入を行う関数は、「round関数」です。math.hをincludeする必要があります。
#include <stdio.h>
#include <math.h>
int main()
{
double x = 4.5;
int anser;
anser = round(x);
printf("%d", ans);
}
↑がサンプルコードです。round関数は引数の値を、四捨五入してdouble型で返します。
注意点ですが、割り算などで四捨五入したい値xがint型の場合はキャストをしましょう。
/*int型同士の割り算の場合*/
#include <stdio.h>
#include <math.h>
int main()
{
int a = 5;
int b = 3;
int anser;
anser = round((double)a / (double)b); //int型のa,bをdouble型でキャスト
printf("%d", anser);
}
↑キャストした場合のサンプルコード。
まとめ
今回は、C言語で値を四捨五入する方法を解説しました。
関数を使わない場合は、値に0.5を足し、int型にします。
関数を使わない場合は、値をround関数の引数に指定します。
最後まで読んで頂き、ありがとうございました。
コメント