8 / 8 / 10
Регистрация: 16.10.2012
Сообщений: 523
1

Как перевести большое 30-значное число из буквенного формата в циферный

05.12.2015, 20:10. Показов 1619. Ответов 4

Author24 — интернет-сервис помощи студентам
Добрый день. Как можно перевести большое BigInteger число из формата: Два Ноноллиона Пять миллионов и т.д. в формат цифры: 15415246565 ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2015, 20:10
Ответы с готовыми решениями:

Строковое деление 100-значное число разделить на 50-значное число
Помогите. не могу понять где нужно поправить код. Строковое деление 100 значное число делим на 50...

Создать метод, в котором одномерный массив. И заменить самое большое число и самое большое число по модулю на число 0
Создать метод, в котором одномерный массив. И заменить самое большое число и самое большое число по...

Строковое деление 100-значное число разделить на 100-значное число
Помогите. не могу понять как или с чего начать. Строковое деление 100-значное число делим на 100...

Варианты как разложить 5-значное число на цифры
Здравствуйте! Помогите решить задачу. С помощью % и /, разложить 5-значное число на цифры и...

4
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
05.12.2015, 20:13 2
Darkvoid, вам подойдет тип BigInteger. https://msdn.microsoft.com/ru-... .110).aspx
0
8 / 8 / 10
Регистрация: 16.10.2012
Сообщений: 523
05.12.2015, 20:31  [ТС] 3
Цитата Сообщение от Дмитрий3241 Посмотреть сообщение
Darkvoid, вам подойдет тип BigInteger. https://msdn.microsoft.com/ru-... .110).aspx
Это конечно все красиво, но я не вижу прямого способа перевести
Девять сот девяноста девять квинтиллионов
Девять сот девяноста девять квадраллионов
Девять сот девяноста девять триллоионов
Девять сот девяноста девять биллионов
Девять сот девяноста девять миллионо
Девять сот девяноста девять тысяч
Девять сот девяноста девять, в 999999999999999999999
0
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
05.12.2015, 20:35 4
Darkvoid, ой простите, не дочитал до конца, думал вам просто большие числа нужны.
0
8 / 8 / 10
Регистрация: 16.10.2012
Сообщений: 523
05.12.2015, 23:47  [ТС] 5
Есть процедуры которые обычные числа превращают в текст, помогите кто переписать их

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
public static string[] nums_1_9 = "ноль один два три четыре пять шесть семь восемь девять".Split();
        public static string[] nums_10_19 = "десять одиннадцать двенадцать тринадцать четырнадцать пятнадцать шестнадцать семнадцать восемнадцать девятнадцать".Split();
        public static string[] nums_20_90 = "ноль десять двадцать тридцать сорок пятьдесят шестьдесят семьдесят восемьдесят девяносто".Split();
        public static string[] nums_100_900 = "ноль сто двести триста четыреста пятьсот шестьсот семьсот восемьсот девятьсот".Split();
        public static string[] razrad = @" тысяч миллион миллиард триллион квадриллион квинтиллион секстиллион септиллион октиллион нониллион дециллион андециллион дуодециллион тредециллион кваттордециллион квиндециллион сексдециллион септемдециллион октодециллион новемдециллион вигинтиллион анвигинтиллион дуовигинтиллион тревигинтиллион кватторвигинтиллион квинвигинтиллион сексвигинтиллион септемвигинтиллион октовигинтиллион новемвигинтиллион тригинтиллион антригинтиллион".Split();
 
/*Перевод числа в буквенный вариант начало*/
 
        //разбить на разряды
        static IEnumerable<string> splitIntoCategories(string s)
        {
            s = s.PadLeft(s.Length + 3 - s.Length % 3, '0');
            return Enumerable.Range(0, s.Length / 3).Select(i => s.Substring(i * 3, 3));
        }
        //вывести название цифр в разряде
        static IEnumerable<string> solve(IEnumerable<string> n)
        {
            var ii = 0;
            foreach (var s in n)
            {
                var countdown = n.Count() - ++ii;
                yield return
                    String.Format(@"{0} {1} {2} {3}",
                        s[0] == '0' ? "" : nums_100_900[getDigit(s[0])],
                        getE1(s[1], s[2]),
                        getE2(s[1], s[2], countdown),
                        s == "000" ? "" : getRankName(s, countdown)
                    );
            }
 
        }
        //вторая цифра разряда
        private static string getE1(char p1, char p2)
        {
            if (p1 != '0')
            {
                if (p1 == '1')
                    return nums_10_19[getDigit(p2)];
                return nums_20_90[getDigit(p1)];
            }
            return "";
        }
        //третья цифра разряда
        private static string getE2(char p1, char p2, int cd)
        {
            if (p1 != '1')
            {
                if (p2 == '0') return "";
                return (p2 == '2' && cd == 1) ? "две" : nums_1_9[getDigit(p2)];
            }
            return "";
        }
 
        private static int getDigit(char p1)
        {
            return Int32.Parse(p1.ToString());
        }
        //вывести название разрядов
        private static string getRankName(string s, int ii)
        {
            if (ii == 0) return "";
            var r = razrad[ii];
            //10 11 ...
            if (s[1] == '1') return r + (ii == 1 ? "" : "ов");
 
            if (new[] { '2', '3', '4' }.Contains(s[2]))
            {
                return r + (ii == 1 ? "и" : "а");
            }
            else
                return r + (ii == 1 ? "" : "ов");
        }
 
        /*Перевод числа в буквенный вариант конец*/
0
05.12.2015, 23:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2015, 23:47
Помогаю со студенческими работами здесь

Как в АСП-е сгенерировать произвольное 8-значное число?
Как в АСП-е сгенерировать произвольное 8-значное число?

Как определить, скольки-значное число было введено?
Как определить какое введено число? 2-ухзначное 3-ёхзначное 4-ёхзначное и т.д. ?

Как вычислить 100 значное число, записанное в string'е
Здравствуйте. У меня такой вопрос. Как вычислить 100 значное число, записанное в string'е, по...

Дано 2-ух-значное число. Сделать так, чтоб программа преобразовала это число в новое число кол-во десятков
Тоесть, для примера, мы вводим число 23, а программа выводит нам 32 (числа наоборот).

Как в edit рандомно генерировать 4-х значное число, которое не будет повторяться?
Как в edit рандомно генерировать 4-х значное число, которое не будет повторяться?

Как перевести текстовый файл из одного формата в другой
Дан текстовый файл форматом например .txt или .doc, как перевести его в .fb2. Без потери данных. С...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru