toEtherString method

String toEtherString()

Up to 18 decimal places, trailing zeros stripped.

Implementation

String toEtherString() {
  final isNeg = wei < BigInt.zero;
  final abs = wei.abs();
  final whole = abs ~/ _etherScale;
  final frac = abs % _etherScale;

  if (frac == BigInt.zero) {
    return '${isNeg ? '-' : ''}$whole.0';
  }

  var fracStr = frac.toString().padLeft(18, '0');
  fracStr = fracStr.replaceAll(RegExp(r'0+$'), '');
  return '${isNeg ? '-' : ''}$whole.$fracStr';
}