iphone - 如何划分数字和整数?

标签 iphone objective-c c cocoa-touch ios4

我正在尝试除以 2 个整数,但无论如何结果都返回零。我应该使用 float 还是什么?我就是无法让它工作。我试过花车,但结果很奇怪。这是我的代码:

    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);

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

最佳答案

整数除法截断。要将两个整数 ij 相除并得到小数,您可以将其中一个用于简单表达式。编写更复杂的表达式时要格外小心,这是浮点运算所需要的。 (除其他外,防止被零除、精度损失和溢出。)

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

关于iphone - 如何划分数字和整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5608170/

相关文章:

ios - 如何将已编程的 ViewController 与 Storyboard中创建的新 View 连接起来?

ios - 我可以使用 UIRequiredDeviceCapabilities 将应用程序限制为 iPad 和 iPhone 6+ 吗?

C - 以十六进制打印出一个字符指针给我奇怪的结果

iphone - NSMutableArray 存在内存泄漏

iphone - iOS7 中 UITableView 滚动指示器闪烁

ios - 创建一个继承 Objective-C 中对象列表的类

iphone - objective-c : Create arrays from first array based on value

ios - "repeated"类型字段未在 Google Protocol Buffer Objective C 中编译

sql - 为什么 SQL DISTINCT 不能与 ORDER BY CAST 一起使用?

无法通过 openssl 以与 crypt、mkpasswd 或 openssl 通过 cmdline 相同的格式获取密码哈希