iphone - objective-c -iOS-奇怪的fmod()行为

标签 iphone objective-c ios modulus

有人可以帮我解释以下内容吗?您可以在Google中输入相同的数字,并获得与我在代码中获得的结果相同的结果...。

1089.80 % 0.04 = 0
1089.84 % 0.04 = 0.04 - Surely this is wrong? 0.04 goes into 1089.84 with no remainder.
1089.88 % 0.04 = 0
1089.92 % 0.04 = 0

对于其他看似正确的数字,也会出现类似的行为。

提前致谢!

最佳答案

您正在查看四舍五入的值。在内部,该数字不是1089.84,而是类似1089.84000026。

如果要“正确”的值,请将两边都乘以100,再加上0.5,然后将它们(整数)相乘,然后取整数mod,然后将结果转换回float。

关于iphone - objective-c -iOS-奇怪的fmod()行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6872995/

相关文章:

iphone - 如何在Interface Builder中查看UITableViewDelegate?

ios - 如何从我的 super View 中的所有 subview 中删除约束?

ios - 为什么我的应用程序界面在带有 XCode 4.5 的 iOS5.1 中不可见,除非多任务>

iphone - 未调用 viewForZoomingInScrollView 以支持缩放

ios - Swift:使用未捕获的异常类型 NSException 终止应用程序

ios - Apple iPhone - 使用控制台调试 - <private>?

ios - View 不会滚动到选定的元素 QuickDialog

iphone - UIViewController默认标题字体设置

ios - UICollectionViewController 以编程方式因非零布局参数错误而崩溃

ios - NSKeyedArchiver 在模拟器上工作但不在实际设备上工作