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

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

проверить на интежер


Страницы:   1 2

Infinityx93 ©   (2007-06-08 18:32:00) 

подскажите плззз!!! как проверить строку нет ли там лишних символов, кроме цифр.
спасибо


Anatoly Podgoretsky   (2007-06-11 19:11:00) [1]

> Германн  (11.06.2007 18:56:33)  [33]

Он не про пятницы позабыл, а позабыл передать эстафету.


Германн   (2007-06-11 18:56:00) [2]


> Anatoly Podgoretsky ©   (11.06.07 18:49) [32]
>
> Пусть еще и математические загадки разгадывает.
>

Проверить будет не на чём. MBO позабыл про пятницы :(


Anatoly Podgoretsky   (2007-06-11 18:49:00) [3]

Пусть еще и математические загадки разгадывает.


TUser   (2007-06-11 17:34:00) [4]

И штоб "ниаменьшее целое число, для записи которого на русском языке требуется не менее 50 слов" тоже понимало :)


{RASkov}   (2007-06-11 15:43:00) [5]

Круто!
ИИ курит :)


Virgo_Style   (2007-06-11 14:46:00) [6]

и курсов валют


Ega23   (2007-06-11 14:44:00) [7]

Ага, и штобы поддержка римских цифр была.


G_M_S   (2007-06-11 14:39:00) [8]


> а почему только на русском? ))

Дельное замечание: надо добавить в ТЗ подержку национальных языков!


Gydvin   (2007-06-11 14:25:00) [9]


> G_M_S ©   (11.06.07 13:25) [25]
>
>
> > Сейчас кто-нибудь затребует дробные числа...
>
> Если уж писать серьезно - то пусть так же понимает "четыреста
> сорок четыре", например ;)))

а почему только на русском? ))


G_M_S   (2007-06-11 13:25:00) [10]


> Сейчас кто-нибудь затребует дробные числа...

Если уж писать серьезно - то пусть так же понимает "четыреста сорок четыре", например ;)))


Углук   (2007-06-11 12:51:00) [11]

StrToIntDef?


G_M_S   (2007-06-11 11:35:00) [12]


> Т.е. $FF не пройдёт?

$FF - шестнадцатиричное представление. нафик его учитывать?


Sapersky   (2007-06-11 11:28:00) [13]

function IsNumber(Const s : String) : Boolean;
Var n, nLen : Integer;
    cSet : set of Char;
begin
nLen := Length(s);
If (nLen = 0) then begin Result := False; Exit; end;

cSet := ['0'..'9'];
If (s[1] = '$') then begin
 cSet := cSet + ['A'..'F', 'a'..'f']; Result := (nLen > 1);
end else
 If (s[1] = '-') then Result := (nLen > 1) else
   Result := (s[1] in cSet);

If (not Result) then Exit;

For n:=2 to nLen do
 If not (s[n] in cSet) then begin Result := False; Exit; end;
end;

Сейчас кто-нибудь затребует дробные числа...


Ega23   (2007-06-11 10:33:00) [14]


> Sapersky   (10.06.07 10:25) [15]
> Да, это я не учёл.
>
> function IsNumber(Const s : String) : Boolean;
> Var n, nLen : Integer;
> begin
> Result := False;
> nLen := Length(s);
> If (nLen = 0) then Exit;
> If (s[1] in ['0'..'9']) or ( (s[1] = '-') and (nLen > 1)
> ) then begin
>  For n:=2 to nLen do
>    If not (s[n] in ['0'..'9']) then Exit;
>  Result := True;
> end;
> end;


Т.е. $FF не пройдёт?


G_M_S   (2007-06-11 09:54:00) [15]

function IsValidInteger(src:String):boolean;
var
 i:Integer;
begin
 try
   i := StrToInt(src);
   result := true;
 except
   result := false;
 end;
end;


Infinityx93   (2007-06-10 19:31:00) [16]

так давайте его перепишем))). Спасибо всем!!!


Anatoly Podgoretsky   (2007-06-10 18:41:00) [17]

> Однокамушкин  (10.06.2007 18:34:17)  [17]

А это уже ошибка компилятора.


Однокамушкин   (2007-06-10 18:34:00) [18]


> Правильный Вася   (10.06.07 17:02) [16]
> а чем тебе 5Е4 не Integer? обычное 5*10^4

А теперь попытайтесь убедить в этом компилятор Delphi... :)


Правильный Вася   (2007-06-10 17:02:00) [19]


> Е в строковом представлении целого числа? Это что-то новенькое
> в науке :)

а чем тебе 5Е4 не Integer? обычное 5*10^4


Sapersky   (2007-06-10 10:25:00) [20]

Да, это я не учёл.

function IsNumber(Const s : String) : Boolean;
Var n, nLen : Integer;
begin
Result := False;
nLen := Length(s);
If (nLen = 0) then Exit;
If (s[1] in ['0'..'9']) or ( (s[1] = '-') and (nLen > 1) ) then begin
 For n:=2 to nLen do
   If not (s[n] in ['0'..'9']) then Exit;
 Result := True;
end;
end;


Страницы:   1 2

Наверх

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