meters static method
Formats meters into metric distance (e.g., "1km 200m" or "500m").
Implementation
static String meters(num? metersVal, [int decimals = 1]) {
if (metersVal == null) return "";
if (metersVal <= 0) return "0m";
if (metersVal >= 1000) {
final km = (metersVal / 1000).floor();
final remainingMeters = metersVal % 1000;
final mStr = remainingMeters.toStringAsFixed(decimals);
final m = double.tryParse(mStr) ?? 0.0;
final mFormatted = m % 1 == 0 ? m.toInt().toString() : m.toString();
return m > 0 ? "${km}km ${mFormatted}m" : "${km}km";
}
final formatted = double.tryParse(metersVal.toStringAsFixed(decimals)) ?? 0.0;
final formattedStr = formatted % 1 == 0 ? formatted.toInt().toString() : formatted.toString();
return "${formattedStr}m";
}