目标c中的第105或95到100号

时间:2011-05-17 16:38:36

标签: objective-c rounding

我有整数值,需要围绕它,怎么做?

105将是110 103将是100

如此经典的小数舍入?谢谢!

4 个答案:

答案 0 :(得分:4)

还有一件事:

int originalNumber = 95; // or whatever
int roundedNumber = 10 * ((originalNumber + 5)/10);

整数除法总是在C中截断,例如3/4 = 0,4 / 4 = 1.

答案 1 :(得分:3)

我不知道确切的Objective-C语法,一般的编程问题。 C样式:

int c = 105;
if (c % 10 >= 5) {
    c += 10;
}
c -= c % 10;

无需浮点计算。

答案 2 :(得分:2)

解决此问题的一种方法:

rounded = (value + 5) - ((value + 5) % 10);

或稍加修改:

rounded = value + 5;
rounded -= rounded % 10;

答案 3 :(得分:1)

见这里:Rounding numbers in Objective-C

您可以支持浮动或以浮点数表示您的整数(105.0)。