toString method
Returns a string representation of this BigDecimal.
Implementation
@override
String toString() {
if (_scale == 0) {
return _unscaledValue.toString();
}
String unscaledStr = _unscaledValue.abs().toString();
bool isNegative = _unscaledValue.isNegative;
if (unscaledStr.length <= _scale) {
// Add leading zeros
String zeros = '0' * (_scale - unscaledStr.length + 1);
unscaledStr = zeros + unscaledStr;
}
int insertPos = unscaledStr.length - _scale;
String result = '${unscaledStr.substring(0, insertPos)}.${unscaledStr.substring(insertPos)}';
return isNegative ? '-$result' : result;
}