Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.08.2008, 13:28
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию Помогите пожалуйста!!

Код:
var
  f1,k1,a1,b1,c1,d1: real;
begin
 a1:=StrToFloat(Edit1.Text);
b1:=StrToFloat(Edit2.Text);
c1:=StrToFloat(Edit3.Text);
d1:=StrToFloat(Edit4.Text);
  k1:=(a1+b1+c1+d1);
      f1:=(2* a1+3* b1+4* c1+5* d1)/k1;
       label1.Caption:=FloatToStrF(f1,ffFixed,1,1);

Как мне сделать, чтобы если значения a1=1, b1=1, c1=1, d1=1, то в Label выводлися бы ответ не «3,5», а ответ был бы равен «3.5»? Подскажите пожалйста на моем примере!
Ответить с цитированием
  #2  
Старый 05.08.2008, 13:50
PashaXP PashaXP вне форума
Новичок
 
Регистрация: 05.02.2008
Сообщения: 81
Репутация: 15
По умолчанию

Не понятно, у тебя при таком условии результат в Label будет 3.5 , а какой нужен? Если разделитель точка нужна "." - это в настройках Windows меняется

Последний раз редактировалось PashaXP, 05.08.2008 в 13:53.
Ответить с цитированием
  #3  
Старый 05.08.2008, 14:07
PashaXP PashaXP вне форума
Новичок
 
Регистрация: 05.02.2008
Сообщения: 81
Репутация: 15
По умолчанию

А если програмно, то
Код:
procedure TForm1.Button1Click(Sender: TObject);

var
  f1,k1,a1,b1,c1,d1: real;
  str:string;
begin
a1:=StrToFloat(Edit1.Text);
b1:=StrToFloat(Edit2.Text);
c1:=StrToFloat(Edit3.Text);
d1:=StrToFloat(Edit4.Text);
  k1:=(a1+b1+c1+d1);
      f1:=(2* a1+3* b1+4* c1+5* d1)/k1;
      str:=FloatToStrF(f1,ffFixed,1,1);
     if Pos(',',str)<>0 then str[Pos(',',str)]:='.';
     label1.Caption:=str;

end;
Ответить с цитированием
  #4  
Старый 05.08.2008, 14:08
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

Ответ будет не в виде "3.5", а в виде "3,5"(. Если у меня будет стоять FloatToStrF(f1,ffFixed,1,1), то ответ будет с запятой. Например, если даже ответ целый получается, то в Label ответ выведется например так: "4,0". А если написать просто FloatToStr(f1), то будет выводится дробь длинная. Но мне нужно, чтобы я в StringGrid-е мог сложить по столбцам. Эту сумму мне надо разделить на четыре и вывести в ячейку таблицы. Но мне программа выдает ошибку: "3,5 is not valid integer value". Что мне сделать, чтобы заработало? Подскажите пожалуйста!)). А как изменить в настройках Windows?
Ответить с цитированием
  #5  
Старый 05.08.2008, 14:11
PashaXP PashaXP вне форума
Новичок
 
Регистрация: 05.02.2008
Сообщения: 81
Репутация: 15
По умолчанию

Как выше сделал не подходит?
Ответить с цитированием
  #6  
Старый 05.08.2008, 14:15
PashaXP PashaXP вне форума
Новичок
 
Регистрация: 05.02.2008
Сообщения: 81
Репутация: 15
По умолчанию

Пуск -> Настройка -> Панель управления -> Язык и региональные стандарты. Нажми кнопку "настройка", там увидешь
Но тебе, так понял, не это нужно. Тебе округлять что-ли значения до цеглого нужно?

Последний раз редактировалось PashaXP, 05.08.2008 в 14:19.
Ответить с цитированием
  #7  
Старый 05.08.2008, 14:31
Phedor Phedor вне форума
Начинающий
 
Регистрация: 28.02.2008
Сообщения: 118
Репутация: 21
По умолчанию

1. Label3.Caption := StringReplace(Str, ',', '.', []);
2. Системные настройки лучше не трогать, потому как глюков не меряно можно схватить при использовании других программ, которые под русскую локаль настроены.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:20.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025