NSTimeInterval与长值的1秒差异

时间:2013-12-20 06:59:07

标签: ios objective-c nstimeinterval

您好我正在使用NSTimeInterval(双重类型)进行数学运算,其中包含一个长变量

NSTimeInterval  timeDifference =[endDateTime timeIntervalSinceDate:startDateTime];

  long duration= timeDifference-[dauseDuration longValue];
  NSString *eventDuration=[NSString stringWithFormat:@"%ld",duration];
  NSLog(@"Duration  :     %@",eventDuration);

我的结果差异为1秒,任何人都可以提前知道了!

1 个答案:

答案 0 :(得分:0)

NSTimeInterval只能保存NSUInteger值。 当您从“整数”值中减去“long”时,结果将始终为“整数”。 长期将失去其精度。 尝试使用,

持续时间长=(长)timeDifference- [dauseDuration longValue];

(但不确定,如果你能弥补1秒的差异)。