草庐IT

myCGFloat

全部标签

ios - 如何安全地将 CGFloat 设置为 int?

我经常需要将CGFloatfloor或ceil到int以计算数组索引。我在floorf(theCGFloat)或ceilf(theCGFloat)中经常遇到的问题是float不准确。如果我的CGFloat是2.0f但在内部它表示为1.999999999999f或类似的东西怎么办。我执行floorf并得到1.0f,这又是一个float。然而,我必须将这个野兽转换为int,这可能会引入另一个问题。是否有最佳实践如何将float设置为int或将其设置为int,这样2.0就不会意外设置为1和类似2.0的东西永远不会意外地限制为2? 最佳答案

ios - 如何安全地将 CGFloat 设置为 int?

我经常需要将CGFloatfloor或ceil到int以计算数组索引。我在floorf(theCGFloat)或ceilf(theCGFloat)中经常遇到的问题是float不准确。如果我的CGFloat是2.0f但在内部它表示为1.999999999999f或类似的东西怎么办。我执行floorf并得到1.0f,这又是一个float。然而,我必须将这个野兽转换为int,这可能会引入另一个问题。是否有最佳实践如何将float设置为int或将其设置为int,这样2.0就不会意外设置为1和类似2.0的东西永远不会意外地限制为2? 最佳答案