C 向上舍入浮点数

C Rounding up float

我有一些浮动,例如:7.66、4.26、897.18...

我想将它们四舍五入到较大的整数:

* 6.87 -> 7

* 5.312 -> 6

* 67.055 -> 68

* 9965.49 -> 9966

* etc.

我应该怎么做?

谢谢!

您可以使用 math.h

中的 ceil 函数

math.h中使用ceilceilf。签名是

double ceil(double arg);

float ceilf(float arg);

如有必要,将结果转换为整数类型,采取措施确保您不会溢出该类型(这就是 ceil 和 [=13= 的 return 类型的原因之一] 与输入类型相同)。

您只需执行以下操作:

#include <stdio.h>
#include <math.h>
int main()
{
   double num = 6.87;
   int result;
   result = ceil(num);
   printf("Ceiling integer of %.2f = %d", num, result);
   return 0;
}