【问题标题】:floats decimals comparison cocos2d浮点小数比较 cocos2d
【发布时间】:2012-11-17 15:47:58
【问题描述】:

大家好,这是我的问题: 我如何将浮点数减少到小数? %.1 对我来说是最好的,但是当我与 unNumero= 1.7f 之类的另一个浮点数进行比较时,代码不会这样做。我认为是因为浮点数更多。我该如何解决这个问题。我需要将 stopCrono 的结果与一些随机浮点数进行比较,但限制为 2 位小数。对不起,我的英语不是我的母语。 这是我的代码

-(void)startCrono:(ccTime)delta {

totalTime += delta  ;
currentTime = totalTime;
timeLimit = 2.0f;
[timeLabel setString:[NSString stringWithFormat:@"%.1f ",currentTime ]];
if (currentTime >= timeLimit) {

    [self unschedule:_cmd];
    }

} -(void)stopCrono:(ccTime)crono2{

[self unschedule:@selector(startCrono:)];
unNumero = 1.7f;

if(unNumero == currentTime){

    CCLOG(@"OK");
}

}

当我在 1.7 中停止我的 crono 时,如果状态不工作 CClog 不打印 OK

【问题讨论】:

    标签: timer cocos2d-iphone


    【解决方案1】:

    由于浮点数学并不精确,因此使用 == 运算符比较两个浮点值以查看它们是否相等通常不会产生您期望的结果。我向您推荐 Bruce Dawson 撰写的 this article,这是关于浮点数的优秀系列的一部分,以了解如何以适当的方式比较浮点值(提示:它比看起来要困难得多)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 2011-08-24
      • 1970-01-01
      • 2015-01-20
      • 2011-10-21
      相关资源
      最近更新 更多