@dark_spectator

Как реализовать бесконечный баланс Unity?

Есть игра, у игрока есть баланс. Указывал его через ulong но очень скоро тип переполняется. Возможно реализовать бесконечный баланс, при этом оставить у него математические функции и оставить возможность сокращения?

пример:
105 550 = 105.55K
150 893 945 = 150.89M
и тд.

В данный момент код сокращения:

public string[] names = { "", "K", "M", "B", "T" };
    public string FormatMoney(decimal digit) // Сокращение баланса
    {
        if(digit == 0)
        {
            return digit.ToString(CultureInfo.InvariantCulture);
        }
        else
        {
            var n = 0;
            while (n + 1 < names.Length && digit >= 1000m)
            {
                digit /= 1000m;
                n++;
            }
            return digit.ToString("#.##") + names[n];
        }
    }
  • Вопрос задан
  • 730 просмотров
Решения вопроса 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
profesor08
@profesor08
Любая реализация bignumber тебе подойдет. Либо можешь написать свой класс, перегрузив операторы сможешь выполнять любые действия с классом.
Ответ написан
@dark_spectator Автор вопроса
Взял переменную типа Double,
double balance = 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999D;


Вот и все решение проблемы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы