gpt4 book ai didi

iphone - 如何确保浮点值始终是 0.25 的倍数?

转载 作者:行者123 更新时间:2023-12-05 08:35:20 24 4
gpt4 key购买 nike

我有一个必须限制为 0.25 的倍数的浮点值。

有效值示例:1.0, 1.25, 2.0, 2.5, 20.25, 20.5, 21.0, 21.25, ...

无效值的示例:0.93, 3.31, 4.249, 5.02, ...

是否有数学函数或方便实现此目的的东西?当该值无效时,我会将其四舍五入为最接近的有效值。

最佳答案

嗯,达到你想要的结果...

float input = ????;

float desiredValue = ceilf(input*4.0f)/4.0f;

我认为 ceilf() 是 C99 的一部分,因此请确保您的编译器已设置为它。


[编辑]

虽然这不会测试输入 == 1/4 的倍数,但它会执行相同的操作。 1/4 的倍数不会改变。 @whatnick 提出了一个很好的观点,即浮点比较是不可靠的。

此外,不进行测试/跳跃会略微提高性能。 提升。

关于iphone - 如何确保浮点值始终是 0.25 的倍数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3814758/

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