UI中Text显示金币数量

2019-06-22  本文已影响0人  沉麟
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;
    }
上一篇 下一篇

猜你喜欢

热点阅读