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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2011, 06:27   #1
sasptb
 
Регистрация: 30.11.2009
Сообщений: 3
По умолчанию Проблема с появлением чисел в StringGrid!

Здавствуйте!
я задан массив и их значения x[0]...x[100] где x[i+1]:=x[i]+0.05
при получении x[74]...x[100] не правильно было.Посмотрите код и результат и помогите мне пожалуйста!
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var x:array[0..1000] of real;
i:integer;
begin
x[0]:=0;
for i:=1 to 100 do
begin
x[i]:= x[i-1]+ 0.05;
stringgrid1.Cells[1,i]:=inttostr(i);
stringgrid1.Cells[2,i]:=floattostr(x[i]);
end;
stringgrid1.Cells[1,0]:='i';
stringgrid1.Cells[2,0]:='x[i]';
end;
Изображения
Тип файла: jpg image.JPG (30.6 Кб, 40 просмотров)
Вложения
Тип файла: rar program.rar (188.0 Кб, 7 просмотров)

Последний раз редактировалось sasptb; 18.05.2011 в 08:17.
sasptb вне форума Ответить с цитированием
Старый 18.05.2011, 08:07   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var x:array[0..1000] of real;
  i:integer;
begin
 x[0]:=0;
for i:=1 to 100 do
begin
x[i]:= x[i-1]+ 0.05;
   stringgrid1.Cells[1,i]:=inttostr(i);
   stringgrid1.Cells[2,i]:=formatfloat('0.00',x[i]);
 end;
  stringgrid1.Cells[1,0]:='i';
  stringgrid1.Cells[2,0]:='x[i]';
  edit1.Text:=floattostr(x[80]);
 end;
SERG1980 вне форума Ответить с цитированием
Старый 18.05.2011, 08:24   #3
sasptb
 
Регистрация: 30.11.2009
Сообщений: 3
По умолчанию

@SERG1980:Спасибо SERG1980!Но Если так делал то только x[i] в формате '0.00',а почему значение x[i] в этом случае :x[74]...x[100] не правильно получилось.
sasptb вне форума Ответить с цитированием
Старый 18.05.2011, 08:43   #4
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

Хз почему, но так работает. Наверно округляются числа.
Код:
for i:=1 to 100 do
begin
x[i]:= x[i-1]+ 0.05;
   stringgrid1.Cells[1,i]:=inttostr(i);
   stringgrid1.Cells[2,i]:=formatfloat('0.###',x[i]);
 end;
  stringgrid1.Cells[1,0]:='i';
  stringgrid1.Cells[2,0]:='x[i]';
  edit1.Text:=formatfloat('0.###',x[80]);
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"

Последний раз редактировалось A-IX-2; 18.05.2011 в 08:45.
A-IX-2 вне форума Ответить с цитированием
Старый 18.05.2011, 09:24   #5
sasptb
 
Регистрация: 30.11.2009
Сообщений: 3
По умолчанию

Знаете ли Вы как получить значения x[i] правильны?Я так делал:
x[i]:=strtofloat(formatfloat('0.###',x[i]));
но это не очень хорошо,потому что нам не известно что десятичный раздел числа включает сколько шифр.(h=0.05,h=0.005,h=0.000005...)
sasptb вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление появлением формы vitalik007 Общие вопросы Delphi 8 24.07.2011 22:23
Проблема с StringGrid HixoH Общие вопросы C/C++ 1 14.12.2010 19:13
50 вещей которые исчезли с появлением интернета Vikenty Свободное общение 22 04.11.2010 23:57
Проблема в STRINGGRID !!! WeRsUs Помощь студентам 4 28.10.2010 21:35
Видео перед появлением формы BanDit Мультимедиа в Delphi 3 26.12.2007 04:23