![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Есть текстовый файл, в котором через табы и/или пробелы записаны числа (дробные) в несколько строчек. Как их прочесть? Есть встроенные средства? Или надо самому парсить?
|
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
-------------------- Жизнь - печальная штука. |
|||
|
||||
Sfate |
|
|||
![]() Angry Beaver ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 7.9.2008 Где: mov AL, BL Репутация: нет Всего: нет |
nikitao, огромное спс
![]() --------------------
"Начинающий программист твердо уверен, что в 1 кбайте 1000 байт, а опытный точно знает, что в 1 километре 1024 метра..." © Unknown |
|||
|
||||
Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: 3 Всего: 13 |
Сей файл есмь CSV-файл.
Если встроенными, то можно ещё использовать Access'овский провайдер данных и работать с файлом как с базой данных. А ещё на sourceforge валялся ещё один быстрый парсер таких файлов... -------------------- ![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Вариант:
Если входной текст имеет правильный формат, то есть содержит числа разделённые пробелами, новыми строками и знаками табуляции, то на выходе будет массив типа double. При возможном неверном формате надо либо обработать исключение, либо воспользоваться методом TryParse вместо Parse. Кроме того: метод Parse перегружен, особое внимание следует обратить на метод System.Double.Parse(string, System.IFormatProvider) В качестве второго аргумента можно взять экземпляр типа System.Globalization.NumberFormatInfo, реализующий интерфейс System.IFormatProvider. В нём можно задать такие свойства как например разделитель десятичных разрядов(точка или запятая) и другие свойства, которые позволят правильно выпарсить число. Это сообщение отредактировал(а) diadiavova - 25.11.2008, 23:15 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: 1 Всего: 2 |
Первое что бы мне пришло в голову при решении данной задачи - это использовать регулярные выражения. Наверное это сложнее, но имхо эффективнее.
|
|||
|
||||
PashaPash |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 9 Всего: 49 |
EgoBrain, чем регулярные выражения эффективнее String.Split и Double.Parse?
А вообще - согласен с Bogdan1024 - взять готовый провайдер, или CSVReader, и не изобретать колесо. Это сообщение отредактировал(а) PashaPash - 30.11.2008, 13:52 |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |