Decimal.parse constructor
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);
}