Objective-C无效变量值为double

时间:2011-03-13 19:58:58

标签: objective-c xcode nsdate

我有以下代码......

double time = [[NSDate date] timeIntervalSince1970];
double startTime = time;
double endTime = time;

当我运行代码时,startTimeendTime彼此之间甚至不相近。例如,startTime4378480endTime1883506224

为什么两个时间值之间存在这样的差异?

3 个答案:

答案 0 :(得分:3)

首先,对所有变量类型使用NSTimeInterval,而不是double

下一步 - 显示用于打印值的代码。我怀疑你使用了错误的变量类型格式(因为时间间隔总是有一个小数组件)并且因此有效地打印垃圾。

答案 1 :(得分:1)

您是否可以链接您用于输出值的代码,请记住您需要在格式化程序中使用%f而不是%d。上述内容应相同,因为两者都指向相同的值

答案 2 :(得分:0)

没关系,我遇到的问题是使用了错误的NSLog字符。

[NSString stringWithFormat:@"%d", startTime]

什么时候应该是这样。

[NSString stringWithFormat:@"%f", startTime]