0

我通过以下方式在我的 BlackBerry 应用程序中获得速度价值;

double velocity   = location.getSpeed();

但是,我很困惑返回速度的测量单位是什么。是公里每小时还是米每秒?这是一个双重价值。这是否意味着它没有计量单位?请解释。

4

2 回答 2

2

除了Signare的回答:

通常,当一个单位未定义/记录时,它应该是 国际单位制的基本单位派生单位之一

由于速度是每次距离,因此导出的 SI 单位是m/s

如果软件使用单位 km/h 或英里作为称为速度的公共参数并且没有文档,那将是一个非常糟糕的软件。

此外,要将 m/s 转换为 km/h,最好简单地乘以3.6- 这比 更具可读性3600/1000,这也是错误的原因(可能导致整数值)

double speedKmh = location.getSpeed() * 3.6;

为避免混淆,最好使用名称speedKmh而不是速度,如果它不是 m/s。

于 2013-04-04T18:46:11.133 回答
1

输出值速度将以m/s为单位。要获得速度,您需要执行以下操作:

int speed = location.getSpeed();

以 m/s 为单位,如果您需要将其转换为 km/h,请使用:

int speed=(int) ((location.getSpeed()*3600)/1000);

如果您需要将其转换为 mph,请使用以下命令:

int speed=(int) (location.getSpeed()*2.2369);
于 2013-04-04T09:16:25.033 回答