在Objective-C中舍入双数

时间:2011-05-12 09:44:49

标签: objective-c c double int rounding

我需要C代码将double值四舍五入到下一个最大整数值。

例如,如果我有:

1.0 (double)必须是1 (int)
1.01 (double)必须2 (int) 5.67 (double)必须6 (int) 76.43 (double)必须77 (int)

有解决方案吗?

2 个答案:

答案 0 :(得分:30)

使用<math.h>中的ceil()功能:

#include <math.h>

double x = 1.01;     // x = 1.01
double y = ceil(x);  // y = 2.0
int i = (int)y;      // i = 2

或更简洁,如果你只想要int结果:

int i = (int)ceil(x);

答案 1 :(得分:-1)

假设您的浮点数为nr。 没有内置函数:

float nr;
int temp;
if (nr % 10 > 0) {
    temp = nr++;
} else {
    temp = nr;
}
nr = temp;