formatGpTomAmount function
Betrag aus GP-Tom-cardPaymentData: das Plugin liefert ab 0.1.0 Cent
(int), auf älteren gespeicherten Belegen steht Euro (double).
null/Nicht-Zahl → '-'.
Der Cast war ein zweiter Weg, den Kartenblock abzuschneiden: eine Zahl als
Text (fremde Antwort, Umweg über JSON) warf, und der catch (_) um den
Block verschluckte es. Das Backend-PDF antwortet auf denselben Wert seit
jeher mit '-' (functions/helper.js, „null/Nicht-Zahl -> '-'") — die
zugesagte Parität galt für diesen Fall also nicht.
Implementation
String formatGpTomAmount(dynamic value) {
if (value is! num || !value.isFinite) return '-';
return value is int ? formatCents(value) : formatAmount(value);
}