ios - Objective C Maths 没有返回正确的值

标签 ios objective-c c math floating-point

<分区>

我正在尝试在 objective-c 中进行百分比求和

10/100 * 75 = 7.5

float x = ((10 / 100) * 75);

这将返回 0.000000。

如果我使用更大的数字而不是 10,例如 1024

1024/100 * 75 = 768

float x = ((1024 / 100) * 75);

它返回 750.000000。

我对此一头雾水,不确定数学是否有误,变量类型是否需要从 float 更改,或者是否有一个我可以使用的 objective c 内置百分比函数。

最佳答案

您正在执行整数数学运算,这永远不会产生浮点结果。 如果您需要 float 学,请使用 float 。

涉及至少一个 float 的数学运算将产生一个 float 。

所以,要么投出其中一个数字......

float x = ((10 / (float)100) * 75);

或者在数字中添加“小数部分”,使其成为 float ...

float x = ((10 / 100.0) * 75);

注意:抛开 100.0 实际上是 double 的区别...这可能是另一个常见的“可搜索”问题...

关于ios - Objective C Maths 没有返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23593274/

相关文章:

c - 复杂正则表达式的段错误 - Regex.h

ios - 如何在 iOS 中增加 SKLightNode 的大小

ios - 暂时禁用手势识别器滑动功能

objective-c - iOS - 如何以编程方式设置 UISwitch

带有 N 个前导零的 C printf

iphone - 使用 AppDelegate 使变量对整个应用程序可用

ios - NSURLSession 准确设置请求超时

java - 用两个地理位置坐标点创建一个框

iPhone 拉动以刷新移动图标位置

ios - UICollectionViewCell 的后台线程快照 = WebCore 崩溃