Files
2026-05-04 20:50:18 +02:00

24 lines
855 B
Dart

/// Formaterar ett DateTime-objekt som YYYY-MM-DD.
/// Om [dt] är null returneras [fallback] (default: tom sträng).
String formatDate(DateTime? dt, {String fallback = ''}) {
if (dt == null) return fallback;
return '${dt.year}-'
'${dt.month.toString().padLeft(2, '0')}-'
'${dt.day.toString().padLeft(2, '0')}';
}
/// Parsar en ISO-datumsträng och formaterar som YYYY-MM-DD.
/// Om strängen inte är parsbar returneras den oförändrad.
String formatDateString(String iso) {
try {
return formatDate(DateTime.parse(iso), fallback: iso);
} catch (_) {
return iso;
}
}
/// Formaterar ett tal som heltal om det inte har decimaler, annars med decimaler.
/// Exempel: 2.0 → "2", 1.5 → "1.5"
String formatQuantity(double v) =>
v == v.roundToDouble() ? v.toStringAsFixed(0) : v.toStringAsFixed(1);