首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGFloat减法问题

CGFloat减法问题
EN

Stack Overflow用户
提问于 2011-09-20 00:09:38
回答 1查看 132关注 0票数 0
代码语言:javascript
复制
_screen.brightness = _screen.brightness - 0.1;

这行代码给了我一个意想不到的结果。

当我调用NSLog(@"%.2f", _screen.brightness - 0.1);命令时,它会打印

-0.00值。当我测试这个if (_screen.brightness == 0)时,它给出了NO

为什么会发生这种情况?有没有转换的问题?

下面是我在_screen对象的类中的访问器方法:

代码语言:javascript
复制
- (CGFloat)brightness {
    return 1 - _dimmingView.alpha;
}

- (void)setBrightness:(CGFloat)brightness {
    if (brightness < self.minValue || brightness > self.maxValue) {
        return;
    }
    _dimmingView.alpha = 1 - brightness;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-20 00:14:35

浮点算术并不一定能给出你想要的精确答案。比我在这里解释过的更好的人:C# float bug? 0.1 - 0.1 = 1.490116E-08。一种不同的语言,但要点是相同的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7473970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档