removeTrailingZeros static method

String removeTrailingZeros(
  1. String input, {
  2. int? maxDecimals,
})

Implementation

static String removeTrailingZeros(String input, {int? maxDecimals}) {
  String result = input.replaceAll(RegExp(r"([.]*0+)(?!.*\d)"), "");
  if (maxDecimals != null) {
    int decimalIndex = result.indexOf('.');
    if (decimalIndex != -1) {
      String beforeDecimal = result.substring(0, decimalIndex);
      String afterDecimal = result.substring(decimalIndex + 1);
      if (afterDecimal.length > maxDecimals) {
        afterDecimal = afterDecimal.substring(0, maxDecimals);
      }
      result =
          beforeDecimal + (afterDecimal.isNotEmpty ? '.$afterDecimal' : '');
    }
  }
  if (result.endsWith('.')) {
    result = result.substring(0, result.length - 1);
  }
  return result;
}