将位置单位从英里转换为米 Android

Ser*_*yan -1 java gps android metrics location

我想将英里转换为米?和其他单位到公制?我尝试了很多变体来改变值,但它对我没有帮助,请问有人可以做到吗?如果有必要,我可以分享我所有的代码,是的,对不起我的英语。

有我的代码请帮忙。

Double speedInMilesPerHour = location.getSpeed()* 3.6; //inMeters
    requestParams.put("speed",  Integer.toString(speedInMilesPerHour.intValue()));

    try {
        requestParams.put("date", URLEncoder.encode(dateFormat.format(date), "UTF-8"));
    } catch (UnsupportedEncodingException e) {}

    requestParams.put("locationmethod", location.getProvider());

    if (totalDistanceInMeters > 0) {
        requestParams.put("distance", String.format("%.1f", totalDistanceInMeters / 1609)); // in miles,
    } else {
        requestParams.put("distance", "0.0"); // in miles
    }

    requestParams.put("username", sharedPreferences.getString("userName", ""));
    requestParams.put("phonenumber", sharedPreferences.getString("appID", "")); // uuid
    requestParams.put("sessionid", sharedPreferences.getString("sessionID", "")); // uuid

    Double accuracyInFeet = location.getAccuracy()* 3.28;
    requestParams.put("accuracy",  Integer.toString(accuracyInFeet.intValue()));

    Double altitudeInFeet = location.getAltitude() * 3.28;
    requestParams.put("extrainfo",  Integer.toString(altitudeInFeet.intValue()));
Run Code Online (Sandbox Code Playgroud)

iva*_*kov 5

您可以编写适用于双精度的简单转换方法:

    public static final double METERS_IN_MILE = 1609.344;

    public static double metersToMiles(double meters) {
        return meters / METERS_IN_MILE;
    }
    
    public static double milesToMeters(double miles) {
        return miles * METERS_IN_MILE;
    }
Run Code Online (Sandbox Code Playgroud)