public static string convertUnitLengthLimit(long num, int most)
{
// string strNum = string.Empty + num;
string strNum = num.ToString("D");
if (strNum.Length <= most)
{
return num.ToString("n0");
}
most -= 1;
string[] unitStrs = { string.Empty, "K", "M", "B","T" }; //单位
int lost = 0;
while (strNum.Length - lost > most)
{
lost += 1;
}
int decimalsNum = 3 - (lost % 3);
if (decimalsNum == 3) decimalsNum = 0;
int unitIndex = (lost + decimalsNum) / 3;
while (unitIndex > 3)
{
lost -= 3;
unitIndex -= 1;
}
double mostShow = num / (double)Math.Pow(10, lost + decimalsNum);
return mostShow.ToString("N" + decimalsNum) + unitStrs[unitIndex];
}