formatValue function
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'\.$'), '');
}
}