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 ? ' ' : ''}'; } }