有人可以帮我解释以下内容吗?您可以在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/