formatValue function

String formatValue(
  1. double? value
)

Implementation

String formatValue(double? value) {
  if (value == null) {
    return '';
  }
  if (value < 1e-6) {
    // 对于非常小的数值,显示足够多的小数位
    return value
        .toStringAsFixed(13)
        .replaceAll(RegExp(r'0*$'), '')
        .replaceAll(RegExp(r'\.$'), '');
  } else if (value < 0.0001) {
    // 对于小于0.0001的数值,显示13位小数
    return value
        .toStringAsFixed(13)
        .replaceAll(RegExp(r'0*$'), '')
        .replaceAll(RegExp(r'\.$'), '');
    // return value.toString();
  } else if (value < 1) {
    // 对于小于1但不非常小的数值,显示最多6位小数
    return value
        .toStringAsFixed(6)
        .replaceAll(RegExp(r'0*$'), '')
        .replaceAll(RegExp(r'\.$'), '');
  } else if (value < 1000) {
    // 对于大于等于1且小于1000的数值,保留2位小数
    return value
        .toStringAsFixed(2)
        .replaceAll(RegExp(r'0*$'), '')
        .replaceAll(RegExp(r'\.$'), '');
  } else {
    // 对于大于等于1000的数值,保留1位小数
    return value
        .toStringAsFixed(1)
        .replaceAll(RegExp(r'0*$'), '')
        .replaceAll(RegExp(r'\.$'), '');
  }
}