我试图划分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);
非常感谢任何帮助,谢谢。
答案 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);