可能重复:
Round up results of division to next integer number in c
是否有一个函数将double
舍入到下一个整数?
1.8 -> 2
1.01 ->2
0.99 ->1
答案 0 :(得分:7)
在C ++中查看std::floor()
和std::ceil()
答案 1 :(得分:1)
std::ceil()
似乎就是你要找的 - 计算最接近的不小于arg的整数。
答案 2 :(得分:1)
您可以使用:
ceil(input)
或
floor(1+input);
答案 3 :(得分:1)
ceil(double x)返回不低于x
的下一个积分答案 4 :(得分:1)
基本功能是ceil
,floor
,trunc
;我想ceil
是你的选择。
答案 5 :(得分:0)
floor(),总是向下舍入到较低的数字, ceil(),总是向更高的数字舍入。
要获得正常的舍入行为,您确实会使用floor(i + 0.5)。
这种方式会给你带负数的问题,这个问题的解决方法是使用ceil()作为负数:
double round(double r) {
return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5);
}