【C言語】double型の数値で切り捨てする方法

この記事では、C言語でdouble型の数値を切り捨てる方法について解説します。

具体的には、floor関数を使った切り捨て方法と、自作の切り捨て関数の作成方法を紹介します。

目次から探す

double型の数値を切り捨てする方法

プログラミングにおいて、double型の数値を切り捨てる方法はいくつかあります。

ここでは、主にfloor関数を使った切り捨てと、自作の切り捨て関数の作成について解説します。

floor関数を使った切り捨て

floor関数は、math.hヘッダファイルに定義されている関数で、引数として与えられた数値を最も近い整数に切り捨てます。

double型の数値を切り捨てる場合には、floor関数を使用することができます。

以下に、floor関数を使った切り捨てのサンプルコードを示します。

#include <stdio.h>
#include <math.h>
int main() {
    double num = 3.14;
    double result = floor(num);
    printf("切り捨て後の値: %f\n", result);
    return 0;
}

上記のコードでは、変数numに3.14という値を代入し、floor関数を使って切り捨てを行っています。

切り捨て後の値は、変数resultに格納され、printf関数を使って結果を表示しています。

実行結果は以下のようになります。

切り捨て後の値: 3.000000

自作の切り捨て関数の作成

もし、math.hヘッダファイルを使用せずに切り捨てを行いたい場合には、自作の切り捨て関数を作成することもできます。

以下に、自作の切り捨て関数のサンプルコードを示します。

#include <stdio.h>
double truncate(double num) {
    if (num >= 0) {
        return (int)num;
    } else {
        return (int)(num - 1);
    }
}
int main() {
    double num = 3.14;
    double result = truncate(num);
    printf("切り捨て後の値: %f\n", result);
    return 0;
}

上記のコードでは、truncateという自作の関数を定義しています。

この関数では、引数として与えられた数値が正の場合は整数部分をそのまま返し、負の場合は整数部分を1つ引いた値を返します。

実行結果は以下のようになります。

切り捨て後の値: 3.000000

以上が、double型の数値を切り捨てる方法についての解説です。

floor関数を使った切り捨てや自作の切り捨て関数を使うことで、必要な場面で正確に数値を切り捨てることができます。

目次から探す