iOS int总是返回0
我正在做一个小计算,但总是返回0 ..
int totalBothTeams = [prefs integerForKey:@"totalTimeBothTeams"]; int someCalculation = (totalBetween / totalBothTeams) * 100; NSLog(@"Time: %i", someCalculation);
有任何想法吗?
我假设totalBetween
不足totalBothTeams
– 在这种情况下的分工
totalBetween / totalBothTeams
导致整数值为0
如果你正在寻找一个“百分比”types的答案,你可以乘以100,然后进行除法。 你仍然会被“舍入”。 或者你可以用双精度完成整个事情,并在最后施放:
(totalBetween * 100) / totalBothTeams
要么
(totalBetween * 100.0) / totalBothTeams + 0.5
- 后者会正确地回合
这是实际发生的事情:
int someCalculation = (totalBetween / totalBothTeams) * 100;
在这里,如果totalBothTeams > totalBetween
..和名字是..
(totalBetween / totalBothTeams)
将返回0,因为它是整数除法。
和0 *任何东西= 0
所以去(totalBetween * 100 / totalBothTeams);