我有一个在设置为10值A,那么这段代码运行的NSTimer: [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(updateTimer) userInfo:nil repeats:YES];
我的空虚这个样子的诠释未能做数学?
-(void)updateTimer {
timeLeft = timeLeft -0.01;
NSString *string = [NSString stringWithFormat:@"%i",timeLeft];
[timer setString:string];
NSLog(string);
}
我使用Coco2D,这是没有问题的 在我登录它出来像这样
2012-06-05 17:28:56.030 NumberPop[31291:10a03] 9
2012-06-05 17:28:57.030 NumberPop[31291:10a03] 8
2012-06-05 17:28:58.030 NumberPop[31291:10a03] 7
2012-06-05 17:28:59.030 NumberPop[31291:10a03] 6
2012-06-05 17:29:00.030 NumberPop[31291:10a03] 5
2012-06-05 17:29:01.030 NumberPop[31291:10a03] 4
2012-06-05 17:29:02.030 NumberPop[31291:10a03] 3
2012-06-05 17:29:03.030 NumberPop[31291:10a03] 2
2012-06-05 17:29:04.029 NumberPop[31291:10a03] 1
2012-06-05 17:29:05.029 NumberPop[31291:10a03] 0
2012-06-05 17:29:06.029 NumberPop[31291:10a03] 0
2012-06-05 17:29:07.029 NumberPop[31291:10a03] 0
2012-06-05 17:29:08.030 NumberPop[31291:10a03] 0
2012-06-05 17:29:09.029 NumberPop[31291:10a03] 0
2012-06-05 17:29:10.030 NumberPop[31291:10a03] 0
2012-06-05 17:29:11.029 NumberPop[31291:10a03] 0
2012-06-05 17:29:12.029 NumberPop[31291:10a03] 0
的0的继续进行下去永远。 我很迷茫,有什么帮助吗?
我看不到停下来的条件。如果你指望减法完全停止在零,我会说你不明白浮点数是如何工作的。您不能将0.1精确地表示为二进制,就像您可以将1/3精确地表示为十进制一样。 – duffymo