【发布时间】:2011-11-01 16:47:49
【问题描述】:
我正在尝试使用 Core Location 计算用户的平均速度,因此我有一个以英里为单位的总行驶距离 (double totalDistance) 和经过的时间 (NSDate *timeElapsed)。
如何将timeElapsed 转换为双倍显示时间? IE。 0.1 小时、0.0001 小时等,这样我才能正确计算我的平均速度?
【问题讨论】:
标签: objective-c nsdate
我正在尝试使用 Core Location 计算用户的平均速度,因此我有一个以英里为单位的总行驶距离 (double totalDistance) 和经过的时间 (NSDate *timeElapsed)。
如何将timeElapsed 转换为双倍显示时间? IE。 0.1 小时、0.0001 小时等,这样我才能正确计算我的平均速度?
【问题讨论】:
标签: objective-c nsdate
将日期对象转换为NSTimeInterval(如果您有不同的开始日期,则使用timeIntervalSinceReferenceDate 或timeIntervalSinceDate:),然后将NSTimeInterval 除以3600。
【讨论】:
totalDistance/(timeElapsedInterval/3600) 以 70 英里/小时的速度行驶(在附近),输出不正确; totalDistance 是英里,timeElapsedInterval 是秒。我觉得我跳过了一些非常明显的东西。
averageSpeed = totalDistance/timeElapsedInterval*3600 似乎解决了它。
a/(b/c) 等于a/b*c,对吗?两者都不等于a/b/c。