parse method

  1. @override
Decimal? parse(
  1. String? value
)
override

Implementation

@override
Decimal? parse(String? value) {
  Decimal decimal = Decimal(precision: precision);

  if (value == null || value.isEmpty) {
    return decimal;
  }

  List<String> parts = _internalStrip(value).split('').toList(growable: true);

  for (int pos = parts.length; pos <= precision; pos++) {
    parts.insert(0, '0');
  }

  if (precision > 0) {
    parts.insert(parts.length - precision, '.');
  }

  decimal.doubleValue = double.parse(parts.join());

  return decimal;
}