Decimal.parse constructor

Decimal.parse(
  1. String s, {
  2. int? precision,
  3. String decimalDelimiter = '.',
})

Parses a Decimal from s.

  • decimalDelimiter is the decimal delimiter to use in the parser.

Implementation

factory Decimal.parse(String s,
    {int? precision, String decimalDelimiter = '.'}) {
  s = s.trim();
  if (s.isEmpty) {
    throw FormatException('Invalid `Decimal` format: $s');
  }

  decimalDelimiter = decimalDelimiter.trim();
  if (decimalDelimiter.length != 1) {
    throw ArgumentError("Invalid decimalDelimiter: `$decimalDelimiter`");
  }

  var idx = s.lastIndexOf(decimalDelimiter);
  if (idx < 0) {
    return Decimal.parseParts(s, '', precision: precision ?? 0);
  }

  var n = s.substring(0, idx).trim();
  var d = s.substring(idx + 1).trim();

  return Decimal.parseParts(n, d, precision: precision);
}