Делаю кликер на андроид на Unity 2020, там большое получается число (в коде money). Число в ulong, а тем более в int не помещается, как сохранять числа с (к примеру) 100 нулями? У меня число сокращается, т.е. 100 000 отображаются как 100К. Также число сохраняется в PlayerPrefs. Мне надо как-нибудь сохранить огромное число (хорошо было-бы сохранить в 1 переменной чтобы не менять код с сокращением числа, но если по-другому нельзя, то подойдёт и в нескольких переменных). Как это сделать?
Код, в котором число (money):
public class Game : MonoBehaviour
{
public Text moneyText;
public int money;
void Start()
{
money = PlayerPrefs.GetInt("money");
void Update()
{
moneyText.text = FormatNumbers.formatNumber(money);
}
public void Click()
{
money++;
PlayerPrefs.SetInt("money", money);
}
}
Код с сокращением числа:
public static class FormatNumbers
{
public static string[] format_name = new[]
{
"", "K", "M", "t", "q", "Q", "s", "S", "o", "n", "d", "U", "D", "T", "Qt", "Qd", "Sd", "St", "O", "N", "v", "c"
};
public static string formatNumber(float num)
{
if (num == 0)
return "0";
int i = 0;
while(i+1 < format_name.Length && num >= 1000f)
{
num /= 1000f;
i++;
}
return num.ToString("#.##") + format_name[i];
}
}