Decimal.fromParts constructor
Implementation
factory Decimal.fromParts(Object whole, Object decimal, {int? precision}) {
if (decimal is num) {
if (decimal < 0) {
decimal = decimal.abs();
}
String d;
if (decimal is int) {
d = decimal.toString();
} else {
if (decimal > 1) {
throw ArgumentError('Decimal > 1: $decimal');
}
d = decimal.toString();
if (d.contains('e')) {
d = decimal.toStringAsFixed(20);
}
if (d.startsWith('0.')) {
d = d.substring(2);
} else {
throw ArgumentError('Invalid decimal: $decimal');
}
}
return Decimal.parseParts(whole.toString(), d, precision: precision);
} else {
return Decimal.parseParts(whole.toString(), decimal.toString(),
precision: precision);
}
}