Unity中对于数值游戏的大数显示

前言

以前玩过几款手游,到中后期数值爆炸,显示单位也从正常的k、m等进化到aa、bb、cc等代替更高单位,下面记录下做法。

代码

csharp 复制代码
    private static readonly string[] Units = new string[] { "", "k", "m", "b", "t", "aa", "bb", "cc", "dd", "ee", "ff", "gg", "hh", "ii", "jj", "kk", "ll", "mm", "nn", "oo", "pp", "qq", "rr", "ss", "tt", "uu", "vv", "ww", "xx", "yy", "zz" /* ...继续添加更多单位... */ };

    /// <summary>
    /// 大数转换
    /// </summary>
    /// <param name="number">原始数</param>
    /// <param name="decimalPlaces">保留几位小数</param>
    /// <returns></returns>
    public static string FormatNumber(double number, int decimalPlaces = 3)
    {
        if (number == 0)
            return "0";

        int unitIndex = 0;

        while (number >= 1000)
        {
            number /= 1000;
            unitIndex++;
        }

        unitIndex = Math.Min(unitIndex, Units.Length - 1);

        // 使用指定的小数位数格式化数字,并添加适当的单位
        string format = "{0:0." + new string('#', decimalPlaces) + "}{1}";
        return String.Format(format, number, Units[unitIndex]);
    }
相关推荐
金銀銅鐵2 天前
[Python] 模 n 乘法的逆元计算器
python·数学·游戏
金銀銅鐵3 天前
借助 Pygame 探索最大公约数的规律
python·数学·游戏
nujnewnehc7 天前
不会 py, 用 ai 写了个游戏辅助的感受
人工智能·游戏
jump_jump8 天前
为了重玩金庸群侠传,我研究了一下 Ruffle 怎么复活 Flash
游戏·rust·github
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
Aloys_Code10 天前
逆向一个被遗忘的DVD游戏格式:从DES加密到Rust模拟器
游戏·模拟器·retroarch·复古游戏·native32·sunplus·赤刃·钢铁风暴
金銀銅鐵10 天前
用 Python 实现 Take-Away 游戏
python·游戏
金銀銅鐵11 天前
用 Pygame 实现 15 puzzle
python·数学·游戏
两水先木示13 天前
【Unity3D】小游戏启动优化、发热优化、蒙皮网格优化
游戏
资源分享助手13 天前
杀戮尖塔2下载、Slay the Spire 2中文版、卡牌肉鸽游戏、杀戮尖塔2联机、杀戮尖塔2攻略
游戏