如何划分数字和整数?

时间:2011-04-09 21:52:40

标签: iphone objective-c c cocoa-touch ios4

我试图划分2个整数,但结果无论如何都会返回零。我应该使用浮动还是什么?我无法让它发挥作用。我试过花车,但我得到了奇怪的结果。这是我的代码:

    NSUInteger someNumber = 156;
    NSUInteger points = 597;
    NSUInteger otherNumber = 5;
    NSUInteger difference = (someNumber - points);
    NSLog(@"%d", difference);
    NSUInteger divide = (difference / otherNumber);
    NSLog(@"%d", divide);
    NSUInteger multiply = (divide * 4826);
    NSLog(@"%d", multiply);
    NSUInteger total = (358 - multiply);
    NSLog(@"%d", total);

非常感谢任何帮助,谢谢。

4 个答案:

答案 0 :(得分:10)

整数除法截断。要将两个整数 i j 除以得到小数,您可以将其中一个用于简单表达式。使用浮点运算所需的所有注意事项编写更复杂的表达式。 (其中包括防止零除,精度损失和溢出。)

r = (float) i / j;
r = (double) i / j;

答案 1 :(得分:1)

NSUIntegers的最小值为0.如果您期望负值,则应使用NSInteger。

答案 2 :(得分:1)

在黑暗中拍摄,请尝试使用字符串格式化程序%u

答案 3 :(得分:-1)

我终于修好了!!!我不得不将差异改为浮动。

NSUInteger difference = (someNumber - points);

float difference = (someNumber - points);