formatGpTomAmount function

String formatGpTomAmount(
  1. dynamic value
)

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);
}