6 / 6 / 3
Регистрация: 31.08.2015
Сообщений: 56
1

Ошибка при конвертации string в int

07.09.2015, 11:47. Показов 2472. Ответов 4
Метки нет (Все метки)

Привет всем.
Возникает проблема при конвертации "string" в "int". При назначении string'у значение в самой программе проблем не возникает, а при назначении из другого файла .txt возникает ошибка: "Входная строка имела неверный формат." Это из-за особенности кодировки? int.Parse() не помогает.
Привожу код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        foreach (string ln in init_text)
        {
            string identifier = "";
            string value = "";
            int numb = 0;
            char[] ln_arr = ln.ToCharArray();
            foreach (char ch in ln_arr)
            {
                if (identifier == "SCREEN WIDTH ")
                    value += ch;
 
                if (identifier != "SCREEN WIDTH ")
                    identifier += ch;
 
                numb++;
                if (numb == ln.Length)
                    screen_width = Convert.ToInt16(value);
            }
 
        }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2015, 11:47
Ответы с готовыми решениями:

Ошибка при изменении с int на string - преобразование невозможно
private void button1_Click(object sender, EventArgs e) { //int year =...

Ошибка конвертации String в Int
Продолжаю работать с клиент-серверными программами. На этот раз нужно отправить на сервер число, и...

Ошибка конвертации из Int в UnityEngine.UI.Text (C#)
Нужно сделать проверку индекса и действие, уже в интернете искал способы, не помогали и т.д....

Too few parameters in call to 'Lechebnica::AddNewElement(int,int,string,string,int,string)
Edit1 Id Edit2 Имя Edit3 Фамилия Edit4 Номер телефона ComboBox1 Услуга ...

4
10 / 10 / 6
Регистрация: 28.07.2015
Сообщений: 57
07.09.2015, 12:00 2
В зависимости от локализации попробуйте: int.Parse("1,1", CultureInfo.GetCultureInfo("Ru-ru"));
P.S для русской локализации.
https://msdn.microsoft.com/en-... 10%29.aspx
0
6 / 6 / 3
Регистрация: 31.08.2015
Сообщений: 56
07.09.2015, 12:17  [ТС] 3
DevG-man,
Не помогает... Консоль верно выводит строку value "128", но сконвертировать в инт не получается.В init.txt написана одна строка: "SCREEN WIDTH 128"
0
Эксперт .NET
5859 / 4736 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
07.09.2015, 12:29 4
Лучший ответ Сообщение было отмечено Leonin как решение

Решение

C#
1
2
3
string init_txt = "SCREEN WIDTH 128";
string strnumber=init_txt.Split(new char[] {' '})[2];
int number = Convert.ToInt32(strnumber);
1
6 / 6 / 3
Регистрация: 31.08.2015
Сообщений: 56
07.09.2015, 17:06  [ТС] 5
Даценд,
Премного благодарен)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2015, 17:06
Помогаю со студенческими работами здесь

Нет конвертации String-а в Double при консольном вводе данных
Не работают в Visual Studio Express 2010 подобные коды: Console.Write("p= "); double p =...

Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)'
#include <iostream> #include <ctime> #include <iomanip> #include <cstdlib> #define row 5...

Ошибка конвертации "49.4239" в int
привет компилятор не может конвертировать string со значением "49.4239" в int, что за дела??

Ошибка при конвертации
Имеется небольшая функция, которая высчитывает значение y=x^2*sin(x) private float GetY(float...


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

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

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