stringValue property

  1. @override
String get stringValue
override

Canonical string representation of this item.

Implementation

@override
String get stringValue {
  if (scale == 0) return unscaledValue.toString();
  final isNegative = unscaledValue < BigInt.zero;
  final absDigits = (isNegative ? -unscaledValue : unscaledValue).toString();
  final String full;
  if (absDigits.length <= scale) {
    final zeros = '0' * (scale - absDigits.length);
    full = '0.$zeros$absDigits';
  } else {
    final dotIndex = absDigits.length - scale;
    full =
        '${absDigits.substring(0, dotIndex)}.${absDigits.substring(dotIndex)}';
  }
  return isNegative ? '-$full' : full;
}