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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2008, 06:02   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Я использовал такую функцию FloatToStrF(c1,ffGeneral,0,2). Работает. Тип данных real. Но у меня не получается сложить например две ячейки, которые рассчитывались испольозуя эту функцию. Короче, когда я складываю, то у меня появляется ошибка типа "3,5 is not value integer" и сложение не происходит. Что мне надо сделать чтобы работало? Спасибо)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 30.07.2008, 06:05   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

А в системных настройках что стоит в качестве десятичного разделителя?
Баламут вне форума Ответить с цитированием
Старый 30.07.2008, 07:28   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Но почему не работает тогда функция округления? Round например? Или Int?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 30.07.2008, 08:25   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Но почему не работает тогда функция округления?
А как ты ее пользуешь?
Выставь DecimalSeparator в символ которы разделят дробные и десятичные.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2008, 10:20   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А как ты ее пользуешь?
Выставь DecimalSeparator в символ которы разделят дробные и десятичные.
первый раз о таком слышу(. Как это сделать в коде?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 30.07.2008, 10:34   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
о у меня появляется ошибка типа "3,5 is not value integer"
Потому что действительно 3,5 не целое число.
Вы пытаетесь присвоить целому числу дробное.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 30.07.2008, 11:05   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

хм... Тут можно только одно сказать: Код в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2008, 14:10   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Это код, который получает число в виде десятичной дроби и выводит его в Label:
Код:
//////////////////////////////////////////////////////////////////////////////////////
  a1 := StrToFloat(Edit1.Text);
  b1 := StrToFloat(Edit2.Text);
  c1 := StrToFloat(Edit3.Text);
  d1 := StrToFloat(Edit4.Text);
    k1 := (a1 +  b1 +  c1 +  d1); //количество оценок
    if k1<>0 then f1 := (2 * a1 + 3 * b1 + 4 * c1 + 5 * d1)/k1;  //расчет
      Label7.Caption:='' + FloatToStrF(f1,ffGeneral,0,2);
//////////////////////////////////////////////////////////////////////////////////////
А это код, который ищет сумму четырех значений, которые рассчитываются по коду, приведенному выше. Складывается четыре раза. Когда у меня в коде в самом верху было вместо FloatToStrF(f1,ffGeneral,0,2) записано FloatToStr(Round(f1)), то второй код прекрасно работал и складывал все правильно целые числа, а вот с десятичными не получается. Мне то надо, чтобы он складывал десятичные и округлял. Код выложил. Какие соображения?)

From Stilet: Я вроде уже тебя предупреждал о корректном оформлении поста? Код оформляй спецкнопкой (#)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось Stilet; 30.07.2008 в 14:26.
artemavd вне форума Ответить с цитированием
Старый 30.07.2008, 14:17   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

объявления показывай, что какого типа объявлено
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 30.07.2008, 14:48   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Stilet, извини меня. Я не до конца еще понял как тут правильно коды оформлять. Вот так у меня объявлено все:
#
var
a1,b1,c1,d1,k1,f1:real;
begin
a1 := StrToFloat(Edit1.Text);
b1 := StrToFloat(Edit2.Text);
c1 := StrToFloat(Edit3.Text);
d1 := StrToFloat(Edit4.Text);
k1 := (a1 + b1 + c1 + d1); //количество оценок
if k1<>0 then f1 := (2 * a1 + 3 * b1 + 4 * c1 + 5 * d1)/k1; //расчет
Label7.Caption:='' + FloatToStrF(f1,ffGeneral,0,2);
#
А это код, который ищет сумму четырех значений, которые рассчитываются по коду, приведенному выше:
#
var
summ:real;
begin
summ:=(StrToInt(SG3.cells[2,1])+StrToInt(SG3.cells[8,1])+StrToInt(SG3.cells[14,1])+StrToInt(SG3.cells[20,1]))/4;
SG3.Cells[26,1]:=FloatToStr(Round(summ));
#
Складывается четыре раза. Когда у меня в коде в самом верху было вместо FloatToStrF(f1,ffGeneral,0,2) записано FloatToStr(Round(f1)), то второй код прекрасно работал и складывал все правильно целые числа, а вот с десятичными не получается. Мне то надо, чтобы он складывал десятичные и округлял. Код выложил. Какие соображения?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование строки(ASM) ManU Помощь студентам 4 11.06.2008 17:20
Преобразование дробных чисел Gon Помощь студентам 5 01.05.2008 13:12
Преобразование... prizrak1390 Общие вопросы Delphi 2 02.04.2008 11:24
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53