toPlainString method

String toPlainString()

Implementation

String toPlainString() {
  if (scale == 0) {
    return intVal.toString();
  }

  final intStr = intVal.abs().toString();
  final b = StringBuffer(intVal.isNegative ? '-' : '');

  if (scale > 0) {
    if (intStr.length > scale) {
      final integerPart = intStr.substring(0, intStr.length - scale);
      b.write(integerPart);

      final decimalPart = intStr.substring(intStr.length - scale);
      if (decimalPart.isNotEmpty) {
        b.write('.$decimalPart');
      }
    } else {
      b
        ..write('0.')
        ..write(intStr.padLeft(scale, '0'));
    }
  } else {
    b.write(intStr.padRight(scale.abs() + intStr.length, '0'));
  }

  return b.toString();
}