Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при конвертации.... [D6, WinXP]


Konstantin555 ©   (2006-08-08 17:26:00) 

Не пойму, почему выскакивает ошибка при конвертации и как её исправить...

Вот работающий код:
procedure TForm1.Button2Click(Sender: TObject);
var
s,s1,s2:Extended;
begin
s1:=1.25;
s2:=1.30;
s:=s1+s2;
ShowMessage(FloatToStr(s));
end;


Вот неработающий код:
procedure TForm1.Button2Click(Sender: TObject);
var
s,s1,s2:Extended;
begin
s1:=StrToFloat('1.25');
s2:=StrToFloat('1.30');
s:=s1+s2;
ShowMessage(FloatToStr(s));
end;


На первый взгляд код практически одинаков, идёт обычная конвертация, но во втором случае выскакивает ошибка, связанная с конвертацией...

Как её исправить и из-за чего появляется ошибка?


Desdechado   (2006-08-08 18:24:00) [1]

>  Изменил разделитель в региональных настройках
Самое кривое решение.
Юзер имеет право под себя настроить, как ему нравится. А ты должен реализовать независимость своей программы от этого права.
См. еще раз [2]


Konstantin555   (2006-08-08 18:01:00) [2]

Desdechado, StriderMan, спасибо! Изменил разделитель в региональных настройках на точку и всё заработало!


StriderMan   (2006-08-08 17:33:00) [3]

от региональных настроек все зависит. у тебя наверное разделитель целой и дробной частей - запятая.


Ega23   (2006-08-08 17:32:00) [4]

Всё прекрасно отработало, показало 2.55


Desdechado   (2006-08-08 17:32:00) [5]

читать про региональные настройки, DecimalSeparator, Format()


Наверх

Титульная страница Поиск, карта сайта Написать письмо