Skip to content

Commit

Permalink
ui/map_eta: round remaining km/mi to one decimal place (commaai#31968)
Browse files Browse the repository at this point in the history
round distance
  • Loading branch information
deanlee authored Mar 22, 2024
1 parent ceaff0d commit 9315d0e
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions selfdrive/ui/qt/maps/map_helpers.cc
Original file line number Diff line number Diff line change
Expand Up @@ -137,17 +137,17 @@ std::optional<QMapLibre::Coordinate> coordinate_from_param(const std::string &pa

// return {distance, unit}
std::pair<QString, QString> map_format_distance(float d, bool is_metric) {
auto round_distance = [](float d) -> float {
return (d > 10) ? std::nearbyint(d) : std::nearbyint(d * 10) / 10.0;
auto round_distance = [](float d) -> QString {
return (d > 10) ? QString::number(std::nearbyint(d)) : QString::number(std::nearbyint(d * 10) / 10.0, 'f', 1);
};

d = std::max(d, 0.0f);
if (is_metric) {
return (d > 500) ? std::pair{QString::number(round_distance(d / 1000)), QObject::tr("km")}
return (d > 500) ? std::pair{round_distance(d / 1000), QObject::tr("km")}
: std::pair{QString::number(50 * std::nearbyint(d / 50)), QObject::tr("m")};
} else {
float feet = d * METER_TO_FOOT;
return (feet > 500) ? std::pair{QString::number(round_distance(d * METER_TO_MILE)), QObject::tr("mi")}
return (feet > 500) ? std::pair{round_distance(d * METER_TO_MILE), QObject::tr("mi")}
: std::pair{QString::number(50 * std::nearbyint(d / 50)), QObject::tr("ft")};
}
}

0 comments on commit 9315d0e

Please sign in to comment.