Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.28;
Скачать: CL | DM;

Вниз

О StrToFloat   Найти похожие ветки 

 
AlexDan ©   (2008-08-16 00:16) [0]

Даа.. Закрыли ветки, я и отойти не успел(..
Там был вопрос, помоему к @!!exу или {RASkov}у {произносить легко, писать сложно)..}
cha:= StrToFloat(Edit1.text);
на точку ругается, как описать реакцию на точку?


 
{RASkov} ©   (2008-08-16 00:22) [1]

> [0] AlexDan ©   (16.08.08 00:16)

Так и не удосужился посмотреть справку по второй(перегруженной) функции? :)
var E: Extended;
............
var FS: TFormatSettings;
begin
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FS);
FS.DecimalSeparator:=".";
E:=StrToFloat({Edit1.text}"123.67", FS);
end;


 
AlexDan ©   (2008-08-16 00:23) [2]

Ага, спасибо, попробую)..


 
{RASkov} ©   (2008-08-16 00:27) [3]

> [2] AlexDan ©   (16.08.08 00:23)

Вопрос: А если в Edit1.Text введут число с запятой, что будешь делать? :)


 
AlexDan ©   (2008-08-16 00:30) [4]

> {RASkov} ©   (16.08.08 00:27) [3]
Адекватно реагировать - будет всплывать какая-нибудь страшная картинка..)


 
McSimm ©   (2008-08-16 00:35) [5]

а с двумя точками ?


 
McSimm ©   (2008-08-16 00:36) [6]

1234..5
123.4.5


 
{RASkov} ©   (2008-08-16 00:36) [7]

> [4] AlexDan ©   (16.08.08 00:30)
> будет всплывать какая-нибудь страшная картинка

Лучше какой-нить USBдевайс придумай, который по рукам будет бить если почует неладное...)


 
{RASkov} ©   (2008-08-16 00:37) [8]

> [5,6] McSimm ©   (16.08.08 00:35)

или даже так:
123.4,5
:)


 
AlexDan ©   (2008-08-16 00:39) [9]

> {RASkov} ©   (16.08.08 00:37) [8]
Если так будут вводиться исходные данные, то USBдевайс надо к голове подключать)..


 
McSimm ©   (2008-08-16 00:47) [10]

Так может и в случае с запятой то же самое ?

В системе есть настройка - что считать разделителем.
Если пользователь считает, что это запятая, то почему программа должна считать иначе ?


 
McSimm ©   (2008-08-16 00:50) [11]


> как описать реакцию на точку?


try
 StrToInt
except
 подробное, но без мата, описание реакции на точки, запятые и прочие шалости
end;


 
{RASkov} ©   (2008-08-16 00:53) [12]

На всякий случай:
Есть еще
TryStrToFloat
StrToFloatDef

может пригодятся в решении данного вопроса....


 
Smile   (2008-08-16 08:55) [13]


> AlexDan ©   (16.08.08 00:16)

Установи компонент
http://delphi4all.narod.ru/vcl/numedit.zip
и забудь о своих проблемах, компонент сам разберется с DecimalSeparator (для него это не опера:))
В крайнем случае поймешь как это реализуется


 
@!!ex ©   (2008-08-16 09:58) [14]

> [0] AlexDan ©   (16.08.08 00:16)

Да ты похожде и не читал что я писал...
Если вводит пользователь, то он должен САМ решать, какой разделитель использовать. ДЛ яэтого и придумали региональные настройки.
Свой разделитель имеет смысл использовать только для внутренних данных, к которым пользователь не имеет доступа.



Страницы: 1 вся ветка

Текущий архив: 2008.09.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1218603223
Кирей
2008-08-13 08:53
2008.09.28
Коментарии в тексте запроса


2-1218656904
antonn
2008-08-13 23:48
2008.09.28
вопросик по Tthread


1-1198573833
wipr
2007-12-25 12:10
2008.09.28
Почему выводится сообщение "Отказано в доступе"


2-1218925736
demon
2008-08-17 02:28
2008.09.28
Восстановить свернутое окно?


1-1199271232
Nucer
2008-01-02 13:53
2008.09.28
Как правильно организовать поток