Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2018, 17:41   #1
mmxx
Новичок
Джуниор
 
Регистрация: 16.08.2018
Сообщений: 2
По умолчанию Помогите разобраться в проге

Написал программу для вывода данных из файла

Код:
var
  i,err,number: integer;
  x_coords: text;
  x: string;
  x_value: double;
  x_massif: array[1..12095] of real;
  
begin
  i:=1;
  assign(x_coords,'x-coords.txt');
  reset(x_coords);
  while not eof(x_coords) do
    begin
      readln(x_coords,x);
      val(x,x_value,err);
      writeln(x_value);
    end;
  close(x_coords);
  
  
end.
В файле данные типа:
0,02
0,02
0,03
0,02
0,03
0,03
0,04
0,03
0,02
-0,01
-0,03
-0,1
-0,11
-0,11
-0,11
-0,17
-0,14
-0,03
-0,01
-0,01
0,02
0,02
0,03
0,06
0,08
0,09
0,09

И мне нужно преобразовать этот текст в цифры для дальнейшей работы, но после обработки данных функцией val() данные выглядят так:
0
0
0
0
0
0
0
0
0
0
0
0
0
Почему? Помогите плз..
mmxx вне форума Ответить с цитированием
Старый 16.08.2018, 17:56   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

проблема в десятичной точке.
меняйте в строке x запятую на точку (и заодно удаляйте все пробелы, если они есть в строке) и всё заработает.

p.s. кстати, процедура Val() не просто так имеет три параметра - в переменной err номер символа, где возникла ошибка преобразования строки в число.
неплохо бы его проверять!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.08.2018, 10:31   #3
mmxx
Новичок
Джуниор
 
Регистрация: 16.08.2018
Сообщений: 2
По умолчанию

Спасибо большое, все заработало))
mmxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку в проге, язык С Valionos Помощь студентам 1 26.12.2015 00:07
Помогите пожалуйста найти ошибку в проге barbossa Общие вопросы C/C++ 6 01.06.2009 21:33
Помогите создать динамический массив из статического в готовой проге!) Sitis Помощь студентам 12 16.04.2009 11:04
Помогите, люди...Drag&Drop в С#-ной проге... homocogitum Общие вопросы .NET 3 02.05.2008 13:43