0

我在 NSTimerInterval 的表达式中得到整数溢出,这实际上是一个双精度数。

NSTimerInterval paymentTermsInMilliSeconds = 30 * 24 * 60 * 60 * 1000; 

在 iPhone 中处理计时器间隔的最佳方法是什么?

4

3 回答 3

2

这很可能是因为计算是在整数上执行的,结果是整数。尝试使用双精度值。

编辑:我刚刚检查过,这正是正在发生的事情。如果将计算更改为:NSTimeInterval paymentTermsInMilliSeconds = 30.0 * 24.0 * 60.0 * 60.0 * 1000.0;,则代码给出正确的值“2592000000”。否则,您最终会出现溢出和“-1702967296”的结果。

于 2011-08-16T12:33:03.743 回答
1

你可能的意思是NSTimeInterval。这通常是以秒为单位的时间间隔。要使用毫秒,请使用 0.001 秒作为毫秒。

于 2011-08-16T12:43:05.327 回答
0

采用,

NSTimerInterval paymentTermsInMilliSeconds = 30 * 24 * 60 * 60 * 1000.0; 

希望,能解决问题。

于 2011-08-16T12:37:04.913 回答