@@ -0,0 +1,35 @@
|
||||
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 ? ' ' : ''}';
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user