toStringAsFixed method
Converts a num to a string representation with fractionDigits digits
after the decimal point.
Implementation
String toStringAsFixed(int fractionDigits) {
if (fractionDigits == 0) {
return round().toBigInt().toString();
} else {
var mul = _i1;
for (var i = 0; i < fractionDigits; i++) {
mul *= _i10;
}
final mulRat = Rational(mul);
final lessThanOne = abs() < _r1;
final tmp = (lessThanOne ? (abs() + _r1) : abs()) * mulRat;
final tmpRound = tmp.round();
final intPart =
(lessThanOne ? ((tmpRound ~/ mulRat) - _r1) : (tmpRound ~/ mulRat))
.toBigInt();
final decimalPart =
tmpRound.toBigInt().toString().substring(intPart.toString().length);
return '${isNegative ? '-' : ''}$intPart.$decimalPart';
}
}