一:单位转换的意义

Unity中实现大数单位转换问题_经验分享
很多游戏中的数据涉及到很大的数字,比如当前升级需要310000000000金币,总不能把310000000000这个数字显示在屏幕上,所以就引入了一些大数据数字的单位转换
K是10的3次方,也就是千
M是10的6次方,也就是百万
B是10的9次方,也就是十亿
T是10的12次方,也就是万亿


二:代码实现

/// <summary>
/// 数字加单位
/// </summary>
public static string NumUnit(double num, string[] unitArray)
{
    double tempNum = num;
    if (tempNum < 10000)
    {
        return num.ToString("0");
    }

    int unitIndex = 0;
    while (tempNum / 10000 / 100 >= 1)
    {
        unitIndex++;
        if (unitIndex >= unitArray.Length)
        {
            unitIndex = unitArray.Length - 1;
            break;
        }
        tempNum /= 100;
    }
    return (tempNum / 10000).ToString("0.00") + unitArray[unitIndex];
}