在C++中如何自定義類似的ceil()函數(shù)

c++
小樊
82
2024-09-10 18:35:28
欄目: 編程語言

在C++中,你可以自定義一個(gè)類似于ceil()函數(shù)的功能,即向上取整

#include<iostream>
#include <cmath>

// 自定義的向上取整函數(shù)
double custom_ceil(double value) {
    if (value == int(value)) {
        return value;
    } else if (value > 0) {
        return std::floor(value) + 1;
    } else {
        return std::floor(value);
    }
}

int main() {
    double input = 5.6;
    std::cout << "原始值: "<< input<< std::endl;
    std::cout << "向上取整后的值: "<< custom_ceil(input)<< std::endl;

    return 0;
}

這個(gè)示例中的custom_ceil()函數(shù)接受一個(gè)double類型的參數(shù)value。首先,我們檢查value是否為整數(shù),如果是,則直接返回該值。如果value大于0,我們使用std::floor()函數(shù)向下取整,然后加1以實(shí)現(xiàn)向上取整。如果value小于0,我們直接使用std::floor()函數(shù)向下取整。

main()函數(shù)中,我們將一個(gè)浮點(diǎn)數(shù)賦值給變量input,并調(diào)用custom_ceil()函數(shù)對(duì)其進(jìn)行向上取整。最后,我們輸出原始值和向上取整后的值。

0