asSignedNumber property

num get asSignedNumber

Reads a C/+ or D/- prefixed signed amount.

Implementation

num get asSignedNumber {
  if (value is! String) throw StateError("value is not a number. tag=${tagString(tag)}");
  final String raw = value! as String;
  final String sign = raw.substring(0, 1).toUpperCase();
  if (sign == "D" || sign == "-") return -num.parse(raw.substring(1));
  if (sign == "C" || sign == "+") return num.parse(raw.substring(1));
  return num.parse(raw);
}