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

Delphi Sources



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

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

Есть такой код:
Код:
a1 := StrToInt(StringReplace(Edit1.Text,',','.',[]));
  b1 := StrToInt(StringReplace(Edit2.Text,',','.',[]));
  c1 := StrToInt(StringReplace(Edit3.Text,',','.',[]));
  d1 := StrToInt(StringReplace(Edit4.Text,',','.',[]));
    k1 := (a1 +  b1 +  c1 +  d1); //количество оценок
    if k1<>0 then f1 := (2 * a1 + 3 * b1 + 4 * c1 + 5 * d1)/k1;  //расчет
      str:=FloatToStrF(f1,ffFixed,1,1);
       if Pos(',',str)<>0 then str[Pos(',',str)]:='.';
         label7.Caption:=str;
В ответ выводит дробное число. Все как надо. Точка как разделитель. А есть какая нибудь функция, которая бы выводила в ответ также дробное число с точкой, но если данных нет, то выводила бы обычный ноль, т.е. «0», а не так «0.0» как это выводится в приведенном мной коде?)
Ответить с цитированием
  #2  
Старый 09.08.2008, 10:59
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Код:
if str='0.0' then str:='0';
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #3  
Старый 09.08.2008, 11:04
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

А куда мне это в моем коде вписать?)
Ответить с цитированием
  #4  
Старый 09.08.2008, 11:07
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Перед
Код:
         label7.Caption:=str;
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #5  
Старый 09.08.2008, 11:29
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

Это код, который складывает по вертикали ячейки в StringGrid:
Код:
for i:=1 to 25 do
   begin
      if (SG3.Cells[2,i]=' ') or (SG3.Cells[8,i]=' ') or (SG3.cells[14,i]=' ') or       (SG3.cells[20,i]=' ') then SG3.cells[26,i]:='0' else
        begin
          try
             summ:=(StrToFloat(SG3.Cells[2,i])+StrToFloat(SG3.cells[8,i])+
                         StrToFloat(SG3.cells[14,i])+
                         StrTofloat(SG3.cells[20,i]))/4;
            SG3.Cells[26,i]:=FloatToStrF(summ,ffFixed,1,1);
            if SG3.Cells[26,i]='0.0' then SG3.Cells[26,i]:='0';
          except
            SG3.Cells[26,i]:='0.0';

          end;
        end;
   end;
Но чтобы он работал, то необходимо на первой форме, откуда берутся данные, проставлять напротив тех фамилий где нет данных вручную нули, чтобы код приведенный выше работал. Как сделать, чтобы если нет данных то он не обращал внимания на это и работал?
Ответить с цитированием
  #6  
Старый 09.08.2008, 12:21
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Проверять что введено в нужной ячейке.
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #7  
Старый 09.08.2008, 12:23
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

Цитата:
Сообщение от The Shadow
Проверять что введено в нужной ячейке.
А как это сделать в моем коде?)
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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