C# 分阶段赚钱系统

C# Make a money system with stages

我在问自己,“在 Unity 中使用 C# 和货币阶段创建货币系统的最佳方式是什么,就像 this game 所做的那样?”。

我已经有一些代码(不能按我想要的方式工作)有点像这样做,但是这样做感觉不对...总有一个小小的想法,那就是行不通,因为最大 int 数是 2.147.483.647 蚂蚁,我绝对想比它更高。

    public string moneyFormatter (int num)
    {
        if (num >= 1000000000)
            return (num / 1000000).ToString("#,0B");

        if (num >= 100000000)
            return (num / 1000000000).ToString("0.#") + "B";

        if (num >= 10000000)
            return (num / 1000000).ToString("#,0M");

        if (num >= 1000000)
            return (num / 1000000).ToString("0.#") + "M";

        if (num >= 100000)
            return (num / 1000).ToString("#,0K");

        if (num >= 10000)
            return (num / 1000).ToString("#,0K");

        return num.ToString("#,0");
    }

我是不是已经完全错了?

这些游戏中的大多数使用 Floating-point 之类的 double,这可以让您以精度为代价达到 10^308 以上。

如果您想要精度但又要以速度和内存使用为代价,请查看 BigInteger