CGFloat减法问题

时间:2011-09-19 16:09:38

标签: objective-c ios

_screen.brightness = _screen.brightness - 0.1;

这行代码给了我一个意想不到的结果 当我调用NSLog(@"%.2f", _screen.brightness - 0.1);命令时,它会打印出来 -0.00值。if (_screen.brightness == 0)当我对此NO进行测试时,它会给我_screen 为什么会这样?有转换问题吗?

这是我在- (CGFloat)brightness { return 1 - _dimmingView.alpha; } - (void)setBrightness:(CGFloat)brightness { if (brightness < self.minValue || brightness > self.maxValue) { return; } _dimmingView.alpha = 1 - brightness; } 对象类中的访问器方法:

{{1}}

1 个答案:

答案 0 :(得分:3)

浮点运算并不一定能为您提供所需的精确答案。比我在这里解释的更好的人:C# float bug? 0.1 - 0.1 = 1.490116E-08。对于不同的语言,但重点仍然相同。