public string SetNumGUI(double num)
{
string str = "";
if (num >= 1000 && num < 1000000)
{
//11000 "10.10"E,Z,Y,S
double strF = num / 1000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'K';
}
else if (num >= 1000000 && num < 1000000000)
{
double strF = num / 1000000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'M';
}
else if (num >= 1000000000 && num < 1000000000000)
{
double strF = num / 1000000000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'B';
}
else if (num >= 1000000000000f && num < 1000000000000000f)
{
double strF = num / 1000000000000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'T';
}
else if (num >= 1000000000000000f && num < 1000000000000000000f)
{
double strF = num / 1000000000000000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'P';
}
else if (num >= 1000000000000000000f && num < 1000000000000000000000f)
{
double strF = num / 1000000000000000000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'E';
}
else if (num >= 1000000000000000000000f && num < 1000000000000000000000000f)
{
double strF = num / 1000000000000000000000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'Z';
}
else if (num >= 1000000000000000000000000f && num < 1000000000000000000000000000f)
{
double strF = num / 1000000000000000000000000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'Y';
}
else if (num >= 1000000000000000000000000000f && num < 1000000000000000000000000000000f)
{
double strF = num / 1000000000000000000000000000.0f;
bool isDot = false;
foreach (var strChar in strF.ToString())
{
if (isDot)
{
str += strChar;
break;
}
if (strChar == '.')
{
isDot = true;
}
str += strChar;
}
str += 'S';
}
else
{
if (num > 0 && num<1.5f)
{
num = 1;
}
str = ((long)num).ToString();
}
return str;
}
网友评论