toUnitString method
将数字转为含单位的字符串,如 221234 = 22.1w
Implementation
String toUnitString({
String? wUnitString, // 万的单位(如 w 、万 等,为空表示不处理万级别)
int wDecimalDigits = 1, // 万的小数个数(默认保存小数后一位)
String? kUnitString,
int kDecimalDigits = 1, // 万的小数个数(默认保存小数后一位)
}) {
String countValueString;
String countUnitString;
// 是否处理 万 级别
if (this > 10000 && wUnitString != null) {
double countvalue = this / 10000;
int dotIndex = countvalue.toString().lastIndexOf("."); // 小数点的位置
countValueString =
countvalue.toString().substring(0, dotIndex + 1 + wDecimalDigits);
countUnitString = wUnitString;
return '$countValueString$countUnitString';
}
// 是否处理 千 级别
if (this > 1000 && kUnitString != null) {
double countvalue = this / 1000;
int dotIndex = countvalue.toString().lastIndexOf("."); // 小数点的位置
countValueString =
countvalue.toString().substring(0, dotIndex + 1 + kDecimalDigits);
countUnitString = kUnitString;
return '$countValueString$countUnitString';
}
countValueString = "$this";
countUnitString = '';
return '$countValueString$countUnitString';
}