Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
5 / 3 / 4
Регистрация: 14.12.2016
Сообщений: 49

Ошибка входной строки textBox

23.11.2018, 13:21. Показов 654. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public double Data(double longet, double shorted)
        {
            try
            {
                string a = textBox2.Text;
                string b = textBox1.Text;
                longet = Convert.ToDouble(a.Replace(',', '.'));
                shorted = Convert.ToDouble(b.Replace(',', '.'));
            }
            catch
            {
                MessageBox.Show("error");
            }
            return longet;
            return shorted;
        }
При попытке конвертирования появляется ошибка: "System.FormatException: "Входная строка имела неверный формат.""
Про точки и запятые в курсе, пробовал, не помогло. Подскажите, что здесь не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2018, 13:21
Ответы с готовыми решениями:

Ошибка формата входной строки при Double.Parse(string s)
есть такой кусок кода: double responsetime; try { ...

Сформировать и вывести две новых строки на основе входной строки символов
Сформировать и вывести две новых строки на основе входной строки символов. В первую строку включить все символы, стоящие на четных...

Вывод данных в textBox c новой строки в цикле. Где ошибка
В textBox1 вводится некий текст разделённый пробелами. Нужно вывести в textBox2 каждую отдельную лексему с новой строки. string...

7
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
23.11.2018, 13:25
Цитата Сообщение от buks_bunny Посмотреть сообщение
При попытке конвертирования появляется ошибка: "System.FormatException: "Входная строка имела неверный формат.""
Про точки и запятые в курсе, пробовал, не помогло. Подскажите, что здесь не так?
Не зная Вашей строки для конвертации, как можно указать на ошибку? Может там у Вас лишний пробел? Или другой символ? Потом Вы заменяете запятую на точку, а культура у Вас какая? Может Вам обратная замена нужна?

Добавлено через 1 минуту
И в целом, это не раз обсуждалось в разных темах, чем производить замену разделителей, лучше при конвертации явно учитывать культуру.
0
5 / 3 / 4
Регистрация: 14.12.2016
Сообщений: 49
23.11.2018, 13:36  [ТС]
строка 7,8

Добавлено через 2 минуты
Вот совсем другая функция. Такая же картина
C#
1
2
3
4
5
public double Ports(double port)
        {
            port = Convert.ToDouble(textBox3.Text);
            return port;
        }
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
23.11.2018, 13:51
buks_bunny,

зачем вы пытаетесь заменить точку на запятую а запятую на точку?
на 1 компьютере может быть настроены разные разделители в зависимости от языка. и 1,2345.34 будет тоже правильно. но преобразоваться не сможет.
для получения текущего разделителя делайте так
C#
1
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator
и потом от этого уже и исходите.
так же для того что бы не ловить исключения используйте метод double.TryParse()
1
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
23.11.2018, 14:18
buks_bunny,

Посмотрите здесь пример с перебором текущей и инвариантной культур:

https://www.cyberforum.ru/post12431303.html
0
1 / 2 / 0
Регистрация: 02.06.2018
Сообщений: 33
23.11.2018, 14:42
Строка из textBox может содержать спец-символы. Очистите строку перед использованием.
0
5 / 3 / 4
Регистрация: 14.12.2016
Сообщений: 49
26.11.2018, 06:46  [ТС]
Программа, теперь компилируется, но значение переменной становится 0

Добавлено через 32 минуты
Теперь другая проблема, перенес кусок кода в консоль - функция для парса вообще не работает.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
static void Main(string[] args)
        {
            double a = 1;
            Program s = new Program();
            s.CH(a);
 
            Console.WriteLine("\nДля выхода нажмителюбую клавишу ..." + a);
            Console.ReadKey();
 
 
 
        }
        public double CH(double longet)
        {
            Console.WriteLine("V\n");
            
                longet = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                return longet;
            
         
        }
0
196 / 41 / 24
Регистрация: 24.02.2013
Сообщений: 231
26.11.2018, 08:20
Конечно не будет работать, потому что у вас
C#
1
Console.WriteLine("\nДля выхода нажмителюбую клавишу ..." + a);
(a =1).
Лучше сделать так
C#
1
2
3
4
5
6
7
8
9
10
11
static void Main(string[] args)
        {
            double a = 1;
            Console.WriteLine("\nДля выхода нажмителюбую клавишу ..." + CH(a));
            Console.ReadKey();
        }
        private static double CH(double longet)
        {
            Console.WriteLine("V\n");
            longet = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
            return longet;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.11.2018, 08:20
Помогаю со студенческими работами здесь

Организация входной строки
Входной поток содержит набор целых чисел Ai (0 ≤ Ai ≤ 1018), отделённых друг от друга произвольным количеством пробелов и переводов строк. ...

Формирование входной строки
Здравствуйте! Помогите пожалуйста решить следующую проблему. По нажатию на кнопку, из ОпенФайлДиалога выбираются базы данных. Пути к...

Показать все используемые символы входной строки
вот у меня есть текст в поле ввода и он состоит из нижнего, верхнего регистра (английские буквы) и цифр. Теперь вопрос: мне нужно чтобы во...

Стирание текста из textbox без возникновения ошибки "Неверный формат входной строки"
Приветствую! На форме есть textbox, в который вводится числовое значение. Это значение присваивается переменной private void...

Анализ входной строки
Вообщем суть состоит в том что при вводе текста из него вытаскивала именно время. Например:"сейчас на часах 13:23" и из этого...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru