iOS int总是返回0

Ada*_*ush -2 int integer objective-c ios

我正在做一个小计算,但它总是返回0 ..

    int totalBothTeams = [prefs integerForKey:@"totalTimeBothTeams"];
    int someCalculation = (totalBetween / totalBothTeams) * 100;

    NSLog(@"Time: %i", someCalculation);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Flo*_*ris 6

我假设totalBetween不到totalBothTeams- 在这种情况下分裂

totalBetween / totalBothTeams
Run Code Online (Sandbox Code Playgroud)

得到整数值 0

如果您正在寻找"百分比"类型的答案,您可以在进行除法之前乘以100.你仍然会"四舍五入".或者你可以用双精度完成整个事情并在最后投射:

(totalBetween * 100) / totalBothTeams
Run Code Online (Sandbox Code Playgroud)

要么

(totalBetween * 100.0) / totalBothTeams + 0.5
Run Code Online (Sandbox Code Playgroud)
  • 后者将正确圆