_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}}
答案 0 :(得分:3)
浮点运算并不一定能为您提供所需的精确答案。比我在这里解释的更好的人:C# float bug? 0.1 - 0.1 = 1.490116E-08。对于不同的语言,但重点仍然相同。