我通过黑莓手机应用程序获取速度值;
double velocity = location.getSpeed();
但是,我很困惑返回速度的测量单位是多少。是每小时公里还是每秒米?这是双重价值。这是否意味着它没有计量单位?请解释一下。
答案 0 :(得分:2)
除了Signare的回答:
通常,无论何时未定义/记录单位,都应该是其中之一 {em>基本单位或派生单位 International System of Units
由于速度是每次的距离,因此导出的SI单位为m/s。
如果软件使用km / h或英里单位作为名为 speed 的公共参数
没有文档,这将是一个非常糟糕的软件。
此外,要将m / s转换为km / h,最好只是简单地按3.6
- 比3600/1000
更易读,这也是导致错误的原因(可能会导致错误)在一个整数值)
double speedKmh = location.getSpeed() * 3.6;
为避免让自己感到困惑,如果不是m / s,最好使用名称speedKmh
代替速度。
答案 1 :(得分: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);