Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


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

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

Код:

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, 18:56   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,354
Репутация: 5274
По умолчанию

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку в проге, язык С Valionos Помощь студентам 1 26.12.2015 01: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


02:36.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru