Nia*_*dle 2 variables decimal objective-c
我正在使用For循环来循环包含百分比的数组中的变量.对于每个值,我通过一个等式给出了所有百分比的平均值.唯一的问题是我不确定如何更改变量类型以容纳小数,同时也可以使用我的方程式.
// Calculate average of all percentages for specific exercise
long totalNumber = 0;
int temp;
long numberOfObjects = [iterationArray count];
for (NSArray *object in iterationArray) {
temp = [(NSNumber *)[object objectAtIndex:4] intValue]/100;
totalNumber = totalNumber + temp;
}
exercisePercentage = (totalNumber/numberOfObjects)*100;
return exercisePercentage;
Run Code Online (Sandbox Code Playgroud)
我知道这temp是需要小数的变量.我正在考虑使用NSDecimalNumber但不知道如何适应其余的代码来返回long值.
尽管事实上是80 ,但我已经尝试过制造一个double或者float两个都返回0 .temp = [(NSNumber *)[object objectAtIndex:4] intValue]/100;[(NSNumber *)[object objectAtIndex:4] intValue]
使用int除以int总是返回int,所以你需要将一个值转换为float或double,如下所示:
// Calculate average of all percentages for specific exercise
double totalNumber = 0.0;
double temp;
long numberOfObjects = [iterationArray count];
for (NSArray *object in iterationArray) {
temp = [(NSNumber *)[object objectAtIndex:4] intValue]/100.0;
totalNumber = totalNumber + temp;
}
exercisePercentage = (totalNumber/numberOfObjects)*100.0;
return exercisePercentage;
Run Code Online (Sandbox Code Playgroud)
看它是100.0,现在它应该工作.
| 归档时间: |
|
| 查看次数: |
303 次 |
| 最近记录: |