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

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

Проверить является ли строка числом? [D7, XP]


Ezorcist ©   (2007-09-13 19:37:00) 

var
   S:string; i:integer;
begin
try
  i:=strtoint(s);
  showmessage('Eto 4islo');
except
  showmessage('Eto NE chislo!');
end;


Что-то подсказывает мне что это неверное .... так?


Германн   (2007-09-14 00:33:00) [1]


> {RASkov} ©   (13.09.07 22:23) [9]
>
> А Palladin предложил только один вариант, так как первый
> в "глубине души" это и есть второй вариант :)
>

Точнее первый есть частный случай второго.
Так же как и вариант [8]
:)


{RASkov}   (2007-09-13 22:23:00) [2]


> [7] Ezorcist   (13.09.07 22:13)

Твоя идея варианта тоже имеет право на жизнь,
А Palladin предложил только один вариант, так как первый в "глубине души" это и есть второй вариант :)

> [8] S@shka ©   (13.09.07 22:20)

Ему "крупняк" не нужен :)

> мне для мелких надо было © [7] Ezorcist

:)


S@shka   (2007-09-13 22:20:00) [3]

var
i : Integer;
begin
Result := True;
for i := 1 to Length (S) do
 if not (S[i] in '0' .. '9') then
 begin
  Result := False;
  break;
 end;


Ezorcist   (2007-09-13 22:13:00) [4]

мне для мелких надо было, вроде работает, Palladin  пасиб )


{RASkov}   (2007-09-13 22:12:00) [5]

> [5] Efir ©   (13.09.07 22:08)
> А здесь придётся смотреть все символы, и определять циферка или буковка.

Поэтому я и задал этот вопрос автору...


Efir   (2007-09-13 22:08:00) [6]


> {RASkov} ©   (13.09.07 21:19) [4]


А здесь придётся смотреть все символы, и определять циферка или буковка.


{RASkov}   (2007-09-13 21:19:00) [7]

> [0] Ezorcist   (13.09.07 19:37)
> Проверить является ли строка числом

А вот это -
104867865845637829821048575839020294859403
как должно определится - число или нет?
А вот это -
10486786584563782982104857583902029485940310486786584563782982104857583902029485 94031048678658456378298210485758390202948594031048678658456378298210485758390202 94859403104867865845637829821048575839020294859403104867865845637829821048575839 02029485940310486786584563782982104857583902029485940310486786584563782982104857 58390202948594031048678658456378298210485758390202948594031048678658456378298210 48575839020294859403104867865845637829821048575839020294859403104867865845637829 821048575839020294859403
?


Palladin   (2007-09-13 21:15:00) [8]

ну *шаркая ножкой*... и в TryStrToInt ошибся немножко параметрами...


Palladin   (2007-09-13 19:40:00) [9]

блин... кошмар нажал здесь Ctrl-Space... жестоко....

1
If TryStrToInt(s) Then
 showmessage('Eto 4islo') else
 showmessage('Eto NE chislo!');
2
Var
 n,c:Integer;

val(s,n,c);
if c=0 Then  showmessage('Eto 4islo') else
 showmessage('Eto NE chislo!');

и еще куча более сложных способов


Palladin   (2007-09-13 19:39:00) [10]

1
If TryStrToInt(s) Then
 showmessage('Eto 4islo') else
 showmessage('Eto NE chislo!');
2
Var
 n,c:Integer;
Begin
val(s,


Наверх

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