Сокращение больших чисел c#

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Сокращение больших чисел c#

Сообщение deedpool 19 фев 2017, 15:44

Помогите не могу придумать скрипт на Сокращение больших чисел (c#) пример это -


K Thousand Тысяча 10е3
M Million Миллион 10е6
B Billion Биллион (миллиард) 10е9
T Trillion Триллион 10е12
q Quadrillion Квадриллион 10е15
Q Quintillion Квинтиллион 10е18
s Sextillion Секстиллион 10е21
S Septillion Септиллион 10е24
O Octillion Октиллион 10е27
N Nonillion Нониллион 10е30
d Decillion Дециллион 10е33
U Undecillion Ундециллион 10е36
D Duodecillion Додециллион 10е39
! Tredecillion Тредециллион 10е42
@ Quattuordecillion Кваттуордециллион 10е45
# Quindecillion Квиндециллион 10е48
$ Sexdecillion Седециллион 10е51
% Septendecillion Септдециллион 10е54
^ Octodecillion Октодециллион 10е57
& Novemdecillion Новемдециллион 10е60
* Vigintillion Вигинтиллион 10е63
deedpool
UNец
 
Сообщения: 17
Зарегистрирован: 17 апр 2016, 10:09

Re: Сокращение больших чисел c#

Сообщение samana 19 фев 2017, 17:20

Вряд ли это касается Unity, тут надо разбираться на форумах по C#.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Сокращение больших чисел c#

Сообщение deedpool 19 фев 2017, 19:25

это скрипт пищеться для игры на unity
deedpool
UNец
 
Сообщения: 17
Зарегистрирован: 17 апр 2016, 10:09

Re: Сокращение больших чисел c#

Сообщение seaman 19 фев 2017, 20:40

Мне вот задание непонятно.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Сокращение больших чисел c#

Сообщение waruiyume 19 фев 2017, 21:09

seaman. 152 535 125 => 152.5M
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Сокращение больших чисел c#

Сообщение seaman 19 фев 2017, 22:49

Ясно. Тогда это просто.
Синтаксис:
Используется csharp
    char[] names = { 'K', 'M', 'B', 'T', ...};
    private string __CutDigit(string digit)
    {
        var dotIdx = digit.IndexOf('.');
        if (dotIdx < 0) dotIdx = digit.Length;
        var triples = dotIdx / 3;
        var num = dotIdx % 3;

        return digit.Substring(0, num) + '.' + digit[num] + names[triples];
    }

(Нет проверки на недопустимые символы.)
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Сокращение больших чисел c#

Сообщение deedpool 21 фев 2017, 19:53

Увы но скрипт не работает

и надо привязать к полю текста

private void Update()
{

scoreText.text = score + "$";//Отображаем деньги

}
deedpool
UNец
 
Сообщения: 17
Зарегистрирован: 17 апр 2016, 10:09

Re: Сокращение больших чисел c#

Сообщение seaman 21 фев 2017, 20:31

Это не скрипт. Это метод.
Если Вы не можете привязать - может найти программиста?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Сокращение больших чисел c#

Сообщение юnity 22 фев 2017, 11:50

Может лучше кубометрами? :)
Give exact coordinates of the decision of the problems
Аватара пользователя
юnity
UNITрон
 
Сообщения: 290
Зарегистрирован: 21 июл 2015, 18:30

Re: Сокращение больших чисел c#

Сообщение Paul Siberdt 22 фев 2017, 14:23

Посмотрите, как это реализовано в Crab Wars на Андроиде. С какого-то момента, первая буква заменяется на заглавную X-Z с добавлением строчной a-z
То бишь, Xa -> Xb -> ... -> Xz -> Yz -> .... Yz -> Za -> ... это вам даст безумное количество ступеней без необходимости привязки к сверхвселенским числам.

Заведите массив аббревиатур. Следите в коде за порядком и просто с переходом числа на новую ступень (шаг в три порядка), обрезайте его и меняйте аббревиатуру.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Сокращение больших чисел c#

Сообщение deedpool 24 фев 2017, 17:14

все получается, кроме "обрезания"
deedpool
UNец
 
Сообщения: 17
Зарегистрирован: 17 апр 2016, 10:09


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24