Files
hjsq_android/lib/hj_utils/widget_utils.dart
T
2026-10-08 11:37:25 +07:00

35 lines
1018 B
Dart

extension IntWidget on int? {
String _trimDecimalZero(String value) {
return value.endsWith('.0') ? value.substring(0, value.length - 2) : value;
}
/// 大于一万以万作为单位 大于一千以千作为单位,否则显示具体的数字
String humanizeFormat({
/// 是是否在数字和单位中间加空格
bool spacing = false,
/// 保留几位小数
int fractionDigits = 1,
}) {
int value = this ?? 0;
/// 小于 0 或者不是数的
if (value <= 0 || value.isNaN) {
return '0${spacing ? ' ' : ''}';
}
/// 大于等于 10000
if(value >= 10000) {
String format = _trimDecimalZero((value / 10000).toStringAsFixed(fractionDigits));
return '$format${spacing ? ' ' : ''}w';
}
/// 大于等于 1000
if(value >= 1000) {
String format = _trimDecimalZero((value / 1000).toStringAsFixed(fractionDigits));
return '$format${spacing ? ' ' : ''}k';
}
/// 小于1000
return '$value${spacing ? ' ' : ''}';
}
}