我通过以下方式在我的 BlackBerry 应用程序中获得速度价值;
double velocity = location.getSpeed();
但是,我很困惑返回速度的测量单位是什么。是公里每小时还是米每秒?这是一个双重价值。这是否意味着它没有计量单位?请解释。
我通过以下方式在我的 BlackBerry 应用程序中获得速度价值;
double velocity = location.getSpeed();
但是,我很困惑返回速度的测量单位是什么。是公里每小时还是米每秒?这是一个双重价值。这是否意味着它没有计量单位?请解释。
除了Signare的回答:
通常,当一个单位未定义/记录时,它应该是 国际单位制的基本单位或派生单位之一
由于速度是每次距离,因此导出的 SI 单位是m/s。
如果软件使用单位 km/h 或英里作为称为速度的公共参数并且没有文档,那将是一个非常糟糕的软件。
此外,要将 m/s 转换为 km/h,最好简单地乘以3.6
- 这比 更具可读性3600/1000
,这也是错误的原因(可能导致整数值)
double speedKmh = location.getSpeed() * 3.6;
为避免混淆,最好使用名称speedKmh
而不是速度,如果它不是 m/s。
输出值速度将以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);