Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 19

Разбиение числа в текст боксе

08.03.2016, 23:07. Показов 2544. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все доброго времени суток. Хотел спросить у вас как разбить число, которое вводится в текст бокс. Например:
есть число 4567, как сделать так чтобы программа понимала что 4 это а, 5-b, 6-с, 7-d. Зачем это нужно? В задании надо вывести тру или фалс: если числа стоят по возрастанию тру, в остальных случаях фалс. Работаю в формах.
Кстати, проверил ещё так: поставил два текстбокса и сравнивал, то так выходит все, а вот ставлю один текст бокс и пишу в него четырехзначное число(хотя в проге указано и A,и B, и С, и D) выводит некорректный результат...Помогите, пожалуйста...
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.03.2016, 23:07
Ответы с готовыми решениями:

Замена букв в текст-боксе
Доброе время суток. Я пишу программу и столкнулся с проблемой: В текст-боксе есть большой текст, если изменить одну букву в любом месте...

Вычисление координат в текст-боксе
Задача вроде бы проста - найти в контроле TextBox или RichTextBox координаты, в которых стоит курсор. Для чего это нужно? все вы...

Обработка вычислений в текст боксе
Доброго всем времени суток! Есть мысль создать некоторый калькулятор, чтобы при введении данных в один из текст-боксов, пересчитанные...

11
 Аватар для Dreiser
8 / 8 / 7
Регистрация: 14.10.2012
Сообщений: 179
08.03.2016, 23:25
String - это ничто иное как массив символов. При необходимости можно обращаться к каждому используя его индекс начиная с 0.
Например, если string text = "ABCD", то можно получить символ "B" через text[1].
Чтобы получилось проводить операции сравнения, используйте Convert.toInt32 или аналогичные.
Если количество символов постоянное, то, думаю, дальше сами справитесь))
1
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 19
09.03.2016, 14:50  [ТС]
Все тоже самое...Скажите, пожалуйста, что тут нет так
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
            string str = "abcd";
            int a = str[0], b = str[1], c = str[2], d = str[3];
            try
            {            
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox1.Text);
                c = Convert.ToInt32(textBox1.Text);
                d = Convert.ToInt32(textBox1.Text);
          
                a = (a*b*c*d) / 1000;
                b = ((a * b * c * d) % 1000) / 100;
                c = ((a * b * c * d) % 100) / 10;
                d = ((a * b * c * d) % 10);
 
                if ((a < b ) && (b < c) && (c < d))
                {
                    MessageBox.Show("True", "True",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
 
                else
 
                {
                    MessageBox.Show("False", "False",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                
                }
           }
            
            catch (System.FormatException)
            {
                MessageBox.Show("Введите корректные значения", "Ошибка",
                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
0
 Аватар для Dreiser
8 / 8 / 7
Регистрация: 14.10.2012
Сообщений: 179
09.03.2016, 15:08
Я, признаться честно, не совсем понимаю, что вы делаете.
У вас есть
C#
1
string str = "abcd";
Потом вы пытаетесь переменной типа integer присвоить символы. У вас туда в лучшем случае запишутся номера кодировок данных букв.

А потом вы переназначаете данным переменным (a,b,c,d) один и тот же одинаковый текст из textbox. Зачем?)

Пускай у вас будет 4 переменных, как они есть. В textbox слитно запишите 4 числовых значения.
Тогда:
C#
1
2
3
4
string a = Convert.toInt32(textbox1.Text[0]);
string b = Convert.toInt32(textbox1.Text[1]);
string c = Convert.toInt32(textbox1.Text[2])
string d = Convert.toInt32(textbox1.Text[3]);
Почему сначала string, а не int? Я так навскидку подозреваю, что если вы начнете конвертировать в integer символы, то, опять же, просто получите номер в таблице кодировки. Поэтому надежней запихнуть их сначала в строковую переменную, а потом уже конвертировать.
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
09.03.2016, 15:12
Цитата Сообщение от Kasper7 Посмотреть сообщение
В задании надо вывести тру или фалс: если числа стоят по возрастанию тру, в остальных случаях фалс.
Так?

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
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите значение.");
            Console.WriteLine("Например: 4567");
            var str = Console.ReadLine();
 
            int prevNum = 0;
            bool flag = true;
 
            foreach (char numChar in str)
            {
                int num = Convert.ToInt32(numChar.ToString());
 
                if (num > prevNum)
                {
                    prevNum = num;
                }
                else
                {
                    flag = false;
                    break;
                }
            }
 
            if (flag)
            {
                Console.WriteLine("Всё верно!!!!.");
            }
            else
            {
                Console.WriteLine("Цифры идут не по возрастанию.");
            }
 
            Console.ReadKey();
        }
    }
На формы только переделайте
1
 Аватар для Dreiser
8 / 8 / 7
Регистрация: 14.10.2012
Сообщений: 179
09.03.2016, 15:15
Цитата Сообщение от LeniumSoft Посмотреть сообщение
C#
1
int num = Convert.ToInt32(numChar.ToString());
Да, вот такой вариант тоже хорош)) как раз решит ту проблему, на которую я обращал внимание)
0
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 19
09.03.2016, 16:37  [ТС]
если бы мог переделать...
в консоле намного проще, а тут ничего не получается
В коде по разному пытался, поэтому много костылей ненужных накидал
C#
1
2
3
4
        string a = Convert.ToInt32(textBox1.Text[0]);
                string b = Convert.ToInt32(textBox1.Text[1]);
                string c = Convert.ToInt32(textBox1.Text[2]);
                string d = Convert.ToInt32(textBox1.Text[3]);
Не удается преобразовать int в string
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
09.03.2016, 16:45
Лучший ответ Сообщение было отмечено Kasper7 как решение

Решение

Цитата Сообщение от Kasper7 Посмотреть сообщение
если бы мог переделать...
в консоле намного проще, а тут ничего не получается
ЧТО?

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
var str = textBox1.Text;
 
            int prevNum = 0;
            bool flag = true;
 
            foreach (char numChar in str)
            {
                int num = Convert.ToInt32(numChar.ToString());
 
                if (num > prevNum)
                {
                    prevNum = num;
                }
                else
                {
                    flag = false;
                    break;
                }
            }
 
            if (flag)
            {
                MessageBox.Show("True", "True",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                MessageBox.Show("False", "False",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
09.03.2016, 16:46
C#
1
  int a = Convert.ToInt32(textBox1.Text[0]);
Вы бы думали немножко над тем, что пишете Какой смысл конвертировать char в int и пытаться присвоить все это переменной типа string?...
0
Заблокирован
09.03.2016, 16:54
Цитата Сообщение от EvilFromHell Посмотреть сообщение
C#
1
int a = Convert.ToInt32(textBox1.Text[0]);
EvilFromHell, конвертацию делают не так

C#
1
2
3
4
5
        string str = "1234";
        int a = Convert.ToInt32(str[0]);
        int b = str[0];
        Console.WriteLine(a);
        Console.WriteLine(b);
https://dotnetfiddle.net/RIwlot
1
 Аватар для Dreiser
8 / 8 / 7
Регистрация: 14.10.2012
Сообщений: 179
09.03.2016, 20:25
Цитата Сообщение от EvilFromHell Посмотреть сообщение
Вы бы думали немножко над тем, что пишете Какой смысл конвертировать char в int и пытаться присвоить все это переменной типа string?...
Там сначала было присваивание к int, я потом вспомнил про нумерацию кодировок. Левую часть поправил, а про правую забыл. Пардон.
0
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
10.03.2016, 00:33
Kasper7, Для преобразования char в число используйте лучше сhar.GetNumericValue() (правда вернет double). А лучше привыкайте к int.TryParse(). здесь вам и проверку удобно будет сделать и тратить время на создание исключения(как в случае с обычным Parse) не придется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2016, 00:33
Помогаю со студенческими работами здесь

Отображение суммы столбца access в текст боксе
Есть таблица access в форме windows, в таблице есть столбец с цифровым значением, и текст бокс на этой форме, как сделать так чтобы...

надо посчитать логарифм и напечатать его в текст-боксе
надо посчитать логарифм в напечатать его в текст-боксе все хорошо, считается, а когда присваиваю бокс значение результата - выдает...

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

Как пройтись по элементам лист бокса поочередно отображая их в текст боксе
Здравствуйте уважаемые форумчане! Подскажите как реализовать следующую вещь: На форме есть лист бокс, текст бокс, кнопка. по нажатию...

Запись значений из текстбокса в ячейки. Маски для СНИЛСА в текст боксе. (Почти получилось)
Добрый день! Задача следующая (пример): 1. Есть форма с 4мя текстбоксами (Фамилия, Имя, Отчество, СНИЛС) и кнопкой При нажатии на...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru