【C言語】小数点第1位で数値を切り上げする方法

この記事では、C言語で小数点第1位で数値を切り上げる方法を紹介します。

目次から探す

小数点第1位で数値を切り上げる方法

1. round関数を使用する方法

#include <stdio.h>
#include <math.h>
int main() {
    double num = 3.14;
    double roundedNum = round(num * 10) / 10;
    
    printf("切り上げ後の数値: %.1f\n", roundedNum);
    
    return 0;
}

round関数は、与えられた数値を最も近い整数に丸める関数です。

小数点第1位で数値を切り上げるためには、まず与えられた数値に10を掛け、round関数を適用します。

その後、10で割ることで小数点第1位で切り上げられた数値を得ることができます。

2. ceil関数を使用する方法

#include <stdio.h>
#include <math.h>
int main() {
    double num = 3.14;
    double roundedNum = ceil(num * 10) / 10;
    
    printf("切り上げ後の数値: %.1f\n", roundedNum);
    
    return 0;
}

ceil関数は、与えられた数値を切り上げる関数です。

小数点第1位で数値を切り上げるためには、まず与えられた数値に10を掛け、ceil関数を適用します。

その後、10で割ることで小数点第1位で切り上げられた数値を得ることができます。

3. 自作の関数を使用する方法

#include <stdio.h>
double roundUp(double num) {
    int integerPart = (int)num;
    double decimalPart = num - integerPart;
    
    if (decimalPart >= 0.1) {
        decimalPart = 0.1;
    } else {
        decimalPart = 0;
    }
    
    return integerPart + decimalPart;
}
int main() {
    double num = 3.14;
    double roundedNum = roundUp(num);
    
    printf("切り上げ後の数値: %.1f\n", roundedNum);
    
    return 0;
}

※ 自作の関数を使用する方法では、与えられた数値を整数部と小数部に分け、小数部が0.1以上の場合には0.1に切り上げます。

それ以外の場合には小数部を0にします。

最後に整数部と切り上げた小数部を足して、小数点第1位で切り上げられた数値を得ることができます。

目次から探す