formatDecimal function

String formatDecimal(
  1. double num
)

Implementation

String formatDecimal(double num) {
  String numStr = num.toStringAsExponential(4);
  List<String> parts = numStr.split('e');

  String base =
      parts[0].replaceAll(RegExp(r'0+$'), '').replaceAll(RegExp(r'\.$'), '');
  int exponent = int.parse(parts[1]);

  if (exponent < -4) {
    String leadingZeros = '0' * (-exponent - 1);
    base = base.replaceFirst(RegExp(r'\.0*$'), '');
    return '$base${leadingZeros.length}';
  } else {
    return '${base}e$exponent';
  }
}