在C++中,你可以自定義一個類似于ceil()
函數的功能,即向上取整
#include<iostream>
#include <cmath>
// 自定義的向上取整函數
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;
}
這個示例中的custom_ceil()
函數接受一個double
類型的參數value
。首先,我們檢查value
是否為整數,如果是,則直接返回該值。如果value
大于0,我們使用std::floor()
函數向下取整,然后加1以實現向上取整。如果value
小于0,我們直接使用std::floor()
函數向下取整。
在main()
函數中,我們將一個浮點數賦值給變量input
,并調用custom_ceil()
函數對其進行向上取整。最后,我們輸出原始值和向上取整后的值。