我在问自己,"在Unity中用C#和money阶段创建一个货币系统的最佳方式是什么&";。
我已经有一些代码(不能按照我想要的方式工作(可以做到这一点,但这样做感觉不对。。。总有一个小小的想法,这是行不通的,因为最大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");
}
我已经完全做错了吗?
这些游戏中的大多数都使用像double
这样的浮点,它可以以精度为代价提供超过10^308。
如果您想要精度,但需要速度和内存使用成本,请查看BigInteger。