discountCentsFor function
Rabatt in Cent aus der Eingabe; außerhalb von 0 … Summe gibt es keinen.
Implementation
int? discountCentsFor(DiscountKind kind, num value, int total) {
if (value.isNaN || value.isInfinite || value < 0) return null;
if (kind == DiscountKind.percent && value > 100) return null;
final c = kind == DiscountKind.percent ? (total * value / 100).round() : value.round();
if (c > total) return null;
return c;
}