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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 05.08.2008, 17:58
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Вот твой код, немного измененный

Код:
var
  f1,k1,a1,b1,c1,d1: real;
begin
DecimalSeparator:=','; 
 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;
DecimalSeparator:='.'; 
       label1.Caption:=FloatToStrF(f1,ffFixed,1,1);
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #17  
Старый 05.08.2008, 18:17
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

Thrasher, спасибо). С точкой мы разобрались. А почему если я меняю это код:
Код:
 var
  f1,k1,a1,b1,c1,d1: real;
begin
DecimalSeparator:=','; 
 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;
DecimalSeparator:='.'; 
       label1.Caption:=FloatToStrF(f1,ffFixed,1,1);
и другие подобные ему на вот так:
Код:
var
  f1,k1,a1,b1,c1,d1: integer;
begin
DecimalSeparator:=','; 
 a1:=StrToInt(Edit1.Text);
b1:=StrToInt(Edit2.Text);
c1:=StrToInt(Edit3.Text);
d1:=StrToInt(Edit4.Text);
  k1:=(a1+b1+c1+d1);
      f1:=(2* a1+3* b1+4* c1+5* d1)/k1;
DecimalSeparator:='.'; 
       label1.Caption:=FloatToStrF(f1,ffFixed,1,1);
то у меня при рассчете суммы в таблицы выдается ошибкка: "3.5 is not valid floating value". Почему?)
Ответить с цитированием
  #18  
Старый 05.08.2008, 18:22
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Ставь перед таблицами
Код:
DecimalSeparator:='.'; 
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #19  
Старый 05.08.2008, 18:30
Phedor Phedor вне форума
Начинающий
 
Регистрация: 28.02.2008
Сообщения: 118
Репутация: 21
По умолчанию

Цитата:
Сообщение от Thrasher
Люди! Для таких простых целей есть две глобальных переменных - DecimalSeparator - разделитель цело и дробной части и ThousandSeparator - разделитель тысяч.

пример:

DecimalSeparator:='.' - разделитель бедет точка '.'
DecimalSeparator:=',' - разделитель бедет запятая ','

1. Вообще-то я это прекрасно знаю, беда в том что люди которые цифры набирают плевали на то как правильно нужно десятичный разряд ставить.
2. Если эту переменную не объявить как глобальную во всех модулях, то в некоторых формах (ячейках, полях) будут применяться не известно что, то запятая, то точка. Предлагаю поставить ее как минимум в OnCreate формы.

Последний раз редактировалось Phedor, 05.08.2008 в 18:34.
Ответить с цитированием
  #20  
Старый 05.08.2008, 19:02
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

Цитата:
Сообщение от Thrasher
Ставь перед таблицами
Код:
DecimalSeparator:='.'; 
Куда именно?) Покажите в моем коде куда поставить? В этом ошибка и заключается чтоли?)
Ответить с цитированием
  #21  
Старый 06.08.2008, 10:51
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Стучись в асю, либо выкладывай код здесь
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #22  
Старый 06.08.2008, 11:41
Phedor Phedor вне форума
Начинающий
 
Регистрация: 28.02.2008
Сообщения: 118
Репутация: 21
По умолчанию

Цитата:
Сообщение от artemavd
Куда именно?) Покажите в моем коде куда поставить? В этом ошибка и заключается чтоли?)

1. В Form1.OnCreate можешь присваивать
2. Проще в расчетах использвать a := StrToFloat(StringReplace(b, ',', '.', []))+StrToFloat(StringReplace(c, ',', '.', []));
а при отображении StringReplace(FloatToStr(a), '.', ',', [])
Ответить с цитированием
  #23  
Старый 06.08.2008, 15:27
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

Цитата:
Сообщение от Phedor
1. В Form1.OnCreate можешь присваивать
2. Проще в расчетах использвать a := StrToFloat(StringReplace(b, ',', '.', []))+StrToFloat(StringReplace(c, ',', '.', []));
а при отображении StringReplace(FloatToStr(a), '.', ',', [])
Это мне записать в моем коде приведенном в самом начале страницы?)
Ответить с цитированием
  #24  
Старый 06.08.2008, 17:01
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

Phedor, я правильно понял твой код под пунктом два, что "а" - это моя формула вычисления суммы в таблице, "b" - номер первой ячейки, "с" - номер второй ячейки, а "отображение" - вывод ответа в ячейку таблицы в таком виденном записанном?). Если правильно понял, то что означают квадратные скобки?)
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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