from static method
Implementation
static Decimal? from(Object? o, {int? precision}) {
if (o == null) return null;
if (o is Decimal) return o;
if (o is int) return Decimal.fromInt(o, precision: precision ?? 0);
if (o is double) return Decimal.fromDouble(o, precision: precision);
if (o is BigInt) return Decimal.fromBigInt(o, precision: precision ?? 0);
if (o is DynamicInt) {
return Decimal.fromDynamicInt(o, precision: precision ?? 0);
}
if (o is List) {
var n = o[0];
var d = o.length > 1 ? o[1] : '0';
return Decimal.fromParts(n, d, precision: precision);
}
if (o is Map) {
var n = o['whole'] ?? o['integer'] ?? o['n'] ?? o['i'];
var d = o['decimal'] ?? o['fraction'] ?? o['cents'] ?? o['d'] ?? o['f'];
return Decimal.fromParts(n, d, precision: precision);
}
return Decimal.tryParse(o.toString(), precision: precision);
}