可能重复:
CGFloat 添加错误?
CGFloats
我有一些代码,为了找出转换的正确尺寸,我做了很多乘法和除法。我注意到有时当我想得到 320 的值时,我会得到 320.00000092。谁能解释为什么会发生这种情况以及如何纠正它?是不是应该这样做?以下是一些可能发生问题的示例代码:
- (void) setMinimumSize
{
CGSize superViewSize = self.superview.bounds.size;
CGSize size = self.frame.size;
CGFloat xScale = superViewSize.width / size.width;
CGFloat yScale = superViewSize.height / size.height;
CGFloat minimumScale = MIN(xScale, yScale);
self.minimumSize = CGSizeMake(size.width * minimumScale, size.height * minimumScale);
}
- (void) scaleToMinimumSize
{
self.transform = CGAffineTransformScale(self.transform, self.minimumSize.width / self.frame.size.width, self.minimumSize.height / self.frame.size.height);
}