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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2007, 07:47   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так шож ты голову морочил то??!! Сразу б и сказал, теперь понятно что у тебя не срабатывает конвертации фунок strtofloat, поскольку они пустоту не берут, в своем коде вместо strtofloat используй strtofloatDEF и будет тебе счастье, например:

Код:
var tmp:double;
...
tmp:=strtofloatdef(StringGrid1.Cells[1,kol+1],0)*strtofloatdef(StringGrid1.Cells[1,i],0);
if tmp<>0 then StringGrid1.Cells[2,i]:=FloatToStr(100/tmp);
Яснышко?
А вообще-то научился бы работать с отладчиком...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2007, 09:20   #12
serserser
 
Регистрация: 07.11.2007
Сообщений: 9
По умолчанию

Спасибо за подсказку, но почему то с strtofloatdef также не выходит
serserser вне форума Ответить с цитированием
Старый 09.11.2007, 09:55   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то с strtofloatdef также не выходит
Что именно не выходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2007, 10:38   #14
serserser
 
Регистрация: 07.11.2007
Сообщений: 9
По умолчанию

Посмотри, вот сделал так, но изменений нет. Добавил проверку на нули, с нулем работает, а если удалить 0 и оставить пустую ячейку, то нет.

Код:
    if strtofloat(StringGrid1.Cells[1,i])<>0 then begin
    StringGrid1.Cells[2,i]:=FloatToStr(100/strtofloatdef(StringGrid1.Cells[1,kol+1],0)*strtofloatdef(StringGrid1.Cells[1,i],0));
    StringGrid1.Cells[2,kol+1]:=FloatToStr(strtofloatdef(StringGrid1.Cells[2,kol+1],0)+strtofloatdef(StringGrid1.Cells[2,i],0));
     end
     else
     begin  StringGrid1.Cells[2,i]:='0';
            StringGrid1.Cells[2,kol+1]:='0'; end;
Для кода существует специальный тэг - кнопка. SupVis.

Последний раз редактировалось SuperVisor; 09.11.2007 в 11:26.
serserser вне форума Ответить с цитированием
Старый 13.11.2007, 09:47   #15
serserser
 
Регистрация: 07.11.2007
Сообщений: 9
По умолчанию

ПОМОЩЬ СДУЛАСЬ?
serserser вне форума Ответить с цитированием
Старый 13.11.2007, 10:23   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ПОМОЩЬ СДУЛАСЬ?
Куда уж тут...
Вот подумай - StrToFloat выдает тебе эту злосчасную ошибку, а все потому что она воспринимает только числа в строке. Тебе сказали что есть StrToFloatDef, которая проверяет может ли превратить в число и если нет то возвращает другое число, которое ей указано возвращать по умолчанию, вроде его и нуна рулить, так обьясни подалуйста почему ты его не используеш везде где подозревается такая ошибка?
При любом обращении в ячейкам ставь эту функу, а ты пишеш: if strtofloat(StringGrid1.Cells[1,i])<>0 then begin. Ессно она дает тебе ошибку.

Да и еще, не забывай проверять на деление на 0...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2007, 07:31   #17
serserser
 
Регистрация: 07.11.2007
Сообщений: 9
По умолчанию

Спасибо, ранее использовал strtofloatdef только в месте где производятся расчеты. Но видимо этого было мало. Сейчас заменил все strtofloat на strtofloatdef и все работает.
serserser вне форума Ответить с цитированием
Старый 14.11.2007, 07:46   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что и требовалось доказать...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Invalid floating point operation Skytis Помощь студентам 3 07.05.2008 12:16
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Выскакивает "Limit"... Filonenko Свободное общение 11 11.01.2008 11:41
Возникает ошибка Invalid floating point operation Иринкаа Помощь студентам 3 29.11.2007 22:10