我需要找到浮点数的模。

为此,我正在使用

NSLog(@"value >> %f",fmodf(2.0f, 0.1f));


此输出应为0.0f

但是我得到的输出值>> 0.1

怎么样?

最佳答案

编译器将源文本0.1f转换为最接近的可表示值。最接近.1的IEEE-754 32位浮点值(iOS使用)为0.100000001490116119384765625。

您使用参数2和0.100000001490116119384765625评估fmodf。从2中减去后者值的19倍后,残差为0.099999971687793731689453125,因此是返回值。当四舍五入到几位数显示时,结果为“ 0.1”。

关于iphone - fmodf的问题,用于获取Modulo,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15447006/

10-10 11:52