gpt4 book ai didi

iphone - 百分比计算总是返回 0

转载 作者:太空狗 更新时间:2023-10-30 03:28:40 25 4
gpt4 key购买 nike

我正在尝试计算某物的百分比。这是简单的数学。这是代码。

float percentComplete = 0;
if (todaysCollection>0) {
percentComplete = ((float)todaysCollection/(float)totalCollectionAvailable)*100;
}

这里todaysCollection的值为1751,totalCollectionAvailable为4000,都是int。但是 percentComplete 总是显示 0。为什么会这样?谁能帮我吗。我是 Objective C 的新手。

最佳答案

But percentComplete always shows 0

您如何显示完成百分比?请记住它是一个 float ——如果你将它解释为一个 int 而没有转换它,你会得到错误的输出。例如,这个:

int x = 1750;
int y = 4000;
float result = 0;
if ( x > 0 ) {
result = ((float)x/(float)y)*100;
}
NSLog(@"[SW] %0.1f", result); // interpret as a float - correct
NSLog(@"[SW] %i", result); // interpret as an int without casting - WRONG!
NSLog(@"[SW] %i", (int)result); // interpret as an int with casting - correct

输出这个:

2010-09-04 09:41:14.966 Test[6619:207] [SW] 43.8
2010-09-04 09:41:14.967 Test[6619:207] [SW] 0
2010-09-04 09:41:14.967 Test[6619:207] [SW] 43

请记住,将浮点值转换为整数类型只会丢弃小数点后的内容 - 因此在我的示例中 43.8 呈现为 43。要将浮点值舍入到最接近的整数,请使用舍入函数之一来自 math.h,例如:

#import <math.h>

... rest of code here

NSLog(@"[SW] %i", (int)round(result)); // now prints 44

关于iphone - 百分比计算总是返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3640996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com