Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
4dimuser
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 160
#1

Как перевести текст в цифры? - C#

18.11.2011, 19:45. Просмотров 2858. Ответов 14
Метки нет (Все метки)

Есть текстовый файл с двумя столбиками цифр, разделенными табуляцией.
Как из первого столбика вычесть второй и результат записать в третий столбик?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2011, 19:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как перевести текст в цифры? (C#):

Как в string вывести текст с цифры в верхнем регистре (как при возведении в степень) - C#
Здравствуйте. Необходимо (в EditText выводить) получить строку со значением давления в кг/см^2. Только вот необходимо, чтобы двойка была...

Как на С# перевести текст или экспортировать в расширение .doc (ms word) ? - C#
Как на "Си шарпе" перевести текст или экспортировать в расширение .doc. приведите пример напишите код :fool:начинающиму!!!:good::)

Перевести слова в цифры - C#
Нужно перевести слова в цифры на C#!!! Как это сделать?

Цифры перевести в плавающий код - C#
как цифры перевести на плавучем коды C#?

Перевести текст в двумерный массив - C#
Есть текст в файле, в каждой строке по 5 чисел 4 863 1101060 00,00 -18770,69 4 870 2208040 3126,18 517942,50 4 871 2208040...

Перевести двоичный код в текст - C#
Добрый день! Мне нужно перевести двоичный код из txt файла в текст на c# Нашел один метод, подскажите как его использовать на примере? ...

14
nluxa
1 / 1 / 1
Регистрация: 18.11.2011
Сообщений: 8
18.11.2011, 19:54 #2
System.Convert.ToDecimal();
в TestConnect есть
0
kolorotur
Эксперт .NET
9104 / 7609 / 1209
Регистрация: 17.09.2011
Сообщений: 13,140
18.11.2011, 22:19 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Поиграемся немножко с линком:
C#
1
2
3
4
5
6
7
8
var query = from line in File.ReadAllLines("input.txt")
            let nums = line.Split('\t')
            let num1 = Convert.ToDouble(nums[0])
            let num2 = Convert.ToDouble(nums[1])
            let num3 = num1 + num2
            select string.Format("{0}\t{1}", line, num3);
 
File.WriteAllText("output.txt", string.Join(Environment.NewLine, query));
4
4dimuser
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 160
21.11.2011, 19:01  [ТС] #4
Цитата Сообщение от kolorotur Посмотреть сообщение
string.Join(Environment.NewLine, query
Подчеркивает красным.
Задание немножко изменилось: файл состоит из четырех столбиков, разделенных табуляцией. Первый трогать не нужно, во втором может быть записано либо "L", либо "S", а с остальными, последними двумя, нужно сделать как я и написал раньше только с изменением: Если "L", то из третьего вычесть четвертый, если "S", то из четвертого вычесть третий, результат записать в пятый.
0
dotFive
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 175
21.11.2011, 19:22 #5
ну вот и делай по аналогии)
1
4dimuser
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 160
21.11.2011, 19:31  [ТС] #6
Я же говорю этот код подчеркивается красным. Какие тут аналогии?
0
dotFive
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 175
21.11.2011, 20:41 #7
напиши, что за ошибку говорят...чтоле

а по аналогии я имею ввиду об энтом:
Цитата Сообщение от 4dimuser Посмотреть сообщение
Задание немножко изменилось
1
4dimuser
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 160
21.11.2011, 20:44  [ТС] #8
Линк есть.
Подчеркивается красным:
string.Join(Environment.NewLine, query)

Ошибка 2 Аргумент "2": преобразование типа из "System.Collections.Generic.IEnumerable<string>" в "string[]" невозможно

Ошибка 1 Наиболее подходящий перегруженный метод для "string.Join(string, string[])" имеет несколько недопустимых аргументов
0
kolorotur
Эксперт .NET
9104 / 7609 / 1209
Регистрация: 17.09.2011
Сообщений: 13,140
21.11.2011, 22:43 #9
Цитата Сообщение от 4dimuser Посмотреть сообщение
Подчеркивается красным
Подразумевается, что вы пишете под .NET4

Если идете позади планеты всей, то надо гнать итератор в массив:
C#
1
string.Join(Environment.NewLine, query.ToArray()));
0
kazachok
54 / 29 / 4
Регистрация: 28.02.2011
Сообщений: 105
22.11.2011, 11:41 #10
C#
1
2
3
4
5
6
7
8
9
10
11
12
StreamReader f = new StreamReader("E:\\aaa.txt");
            string s = f.ReadLine();
 
            string[] buf;
            buf = s.Split(' ');
            int x = Convert.ToInt32(buf[0])  Convert.ToInt32(buf[1]);
            MessageBox.Show(x.ToString());
            f.Close();
 
            StreamWriter fw = new StreamWriter("E:\\aaa.txt");
            fw.WriteLine(buf[0] + " " + buf[1] + " " + x);
            fw.Close();
вопрос - насколько корретен вот такой код для задачи? И такой вопрос - если к примеру не переписывать строчку -есть ли у классов StreamWriter и StreamReader возможность двигать каретку? спасибо.
0
kolorotur
Эксперт .NET
9104 / 7609 / 1209
Регистрация: 17.09.2011
Сообщений: 13,140
22.11.2011, 12:00 #11
Цитата Сообщение от kazachok Посмотреть сообщение
насколько корретен вот такой код для задачи?
Вполне корректен, если надо изменить только первую строчку файла.

Цитата Сообщение от kazachok Посмотреть сообщение
C#
1
int x = Convert.ToInt32(buf[0]) Convert.ToInt32(buf[1])
По-моему, вы тут плюс пропустили.

Цитата Сообщение от kazachok Посмотреть сообщение
есть ли у классов StreamWriter и StreamReader возможность двигать каретку?
Есть, но лучше переписывать строчку.
0
Heisenberg
44 / 45 / 3
Регистрация: 11.08.2010
Сообщений: 226
22.11.2011, 18:24 #12
1.Ну у вас цифры не в 1 строчке, так что легче 1 раз выгрузить весь файл в память и циклом парсить данные, чем каждый раз считывать

2.
C#
1
2
string[] buf;
            buf = s.Split(' ');
в 1 строчку обьедените

3.
C#
1
int x = Convert.ToInt32(buf[0])  Convert.ToInt32(buf[1]);
Зачем вы конвертируйте строку в число если не используйте его

4.
C#
1
StreamReader f = new StreamReader("E:\\aaa.txt");
C#
1
StreamWriter fw = new StreamWriter("E:\\aaa.txt");
обхватите в using и тогда не надо будет самому закрывать поток

4. Тут
C#
1
fw.WriteLine(buf[0] + " " + buf[1] + " " + x);
лучше использовать форматирование
0
kazachok
54 / 29 / 4
Регистрация: 28.02.2011
Сообщений: 105
22.11.2011, 19:15 #13
спасибо за ответ.
по пункту 3 - там знак минус пропущен - моя ошибка. на счет using - почитал, буду пробовать!
пункт 4 - форматирование какого плана?
0
dotFive
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 175
22.11.2011, 20:55 #14
C#
1
StreamWriter fw = new StreamWriter(@"E:\\aaa.txt");
не?)

и вообще, что ты имеешь ввиду под вопросом "корректен ли для задачи"?
0
kazachok
54 / 29 / 4
Регистрация: 28.02.2011
Сообщений: 105
22.11.2011, 21:24 #15
скорее я хотел спросить - насколько приведенный код соответствует наиболее практичному решению такой задачи)
0
22.11.2011, 21:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 21:24
Привет! Вот еще темы с ответами:

Задан текст. Определить, содержит ли он цифры - C#
3 задан текст.определить,содержит ли он цифры?

Регулярные выражения. Определить содержит ли текст цифры - C#
Используя классы из пространства имен RegularExpression выполнить задачу: - Заданный текст. Определить содержит ли он цифры.

Дан непустой текст в который входят только цифры и буквы - C#
В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: текст начинается с к букв...

Есть ли какой-то способ узнать, что с консоли введен именно текст, а не цифры - C#
Добрий день! Есть ли какой-то способ узнать что с консоли введен именно текст, а не цифри не используя посимвольное сравнение? Тоесть...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru