uArFormatDistance function

String uArFormatDistance(
  1. double metres, {
  2. UArMeasureUnit unit = UArMeasureUnit.metric,
})

Implementation

String uArFormatDistance(double metres, {UArMeasureUnit unit = UArMeasureUnit.metric}) {
  if (unit == UArMeasureUnit.imperial) {
    final double inches = metres / 0.0254;
    if (inches < 12) return "${inches.toStringAsFixed(1)} in";
    final int feet = inches ~/ 12;
    return "$feet′ ${(inches - feet * 12).round()}″";
  }
  if (metres < 1) return "${(metres * 100).toStringAsFixed(metres < 0.1 ? 1 : 0)} cm";
  if (metres < 10) return "${metres.toStringAsFixed(2)} m";
  return UArGeo.formatDistance(metres);
}