Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Вниз

Как узнать число-ли переменная S:String;   Найти похожие ветки 

 
Rentgen ©   (2004-10-13 10:48) [0]

Здравствуйте.
К делу:

var
S:String;
...
begin
//Как узнать число-ли переменная S?(пр.:S:="1999");
end;


 
Rentgen ©   (2004-10-13 10:50) [1]

Почему-то мне кажется, что есть способ не схожий с try-except


 
Reindeer Moss Eater ©   (2004-10-13 10:52) [2]

Если в строке все символы - цифры или разделители тысяч (кроме первого символа, могущего быть знаком), есть не более одного разделителя дробной части числа то эта строка почти наверняка является представлением числа


 
Ega23 ©   (2004-10-13 10:55) [3]

Val + F1


 
antonn ©   (2004-10-13 11:25) [4]

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


 
Семен Сорокин ©   (2004-10-13 11:34) [5]

TryStrToInt, StrToIntDef


 
Reindeer Moss Eater ©   (2004-10-13 11:39) [6]

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


 
piople ©   (2004-10-13 11:48) [7]

Напиши функцию в которой попробуй строку посимволько сравнивать с множеством символов(0 до 9) и если что не так то результат функции борода, иначе все ок)))


 
icWasya ©   (2004-10-13 16:45) [8]

правильный ответ дал Ega23 ©[3]
Val + F1


 
jack128 ©   (2004-10-14 00:14) [9]

Ega23 ©   (13.10.04 10:55) [3]
icWasya ©   (13.10.04 16:45) [8]

не было оговорено, что имеется в виду именно ЦЕЛЫЕ числа. А для вещественных Val считает, что разделитель целой и дробной части - всегда точка.


 
Homa_Programer ©   (2004-10-14 02:35) [10]

а почему бы не использовать старый добрый, опробованный try..except???


 
GanibalLector ©   (2004-10-14 02:37) [11]

2 Homa_Programer ©
Вообще-то надо внимательно читать!!!См  [5]


 
tsalBSM   (2004-10-14 08:21) [12]

Изврат

function Func(S: string): Boolean;
var X:integer;
begin
Result := False;

for X := 1 to Length(S) do begin
  if (S[X] = "0") or
     (S[X] = "1") or
     (S[X] = "2") or
     (S[X] = "3") or
     (S[X] = "4") or
     (S[X] = "5") or
     (S[X] = "6") or
     (S[X] = "7") or
     (S[X] = "8") or
     (S[X] = "9") or
     (S[X] = ".") or
     (S[X] = #20) then continue else exit;
end;

Result := true;
end;


 
begin...end ©   (2004-10-14 08:27) [13]


> [12] tsalBSM   (14.10.04 08:21)

Ты про множества не слышал, что ли?


 
SergP.   (2004-10-14 09:00) [14]


>  [13] begin...end ©   (14.10.04 08:27)
>
> > [12] tsalBSM   (14.10.04 08:21)
>
> Ты про множества не слышал, что ли?


Он же написал что это ИЗВРАТ


 
begin...end ©   (2004-10-14 09:09) [15]


> [14] SergP.   (14.10.04 09:00)


> Он же написал что это ИЗВРАТ

А, понятно, я просто думал, что он всё с [1] по [11] извратом посчитал.


 
Ega23 ©   (2004-10-14 09:47) [16]

jack128 ©   (14.10.04 00:14) [9]

Ega23 ©   (13.10.04 10:55) [3]
icWasya ©   (13.10.04 16:45) [8]

не было оговорено, что имеется в виду именно ЦЕЛЫЕ числа. А для вещественных Val считает, что разделитель целой и дробной части - всегда точка.


А DecimaleSeparator тогда для чего?



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

Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.217 c
14-1097177871
zokzok
2004-10-07 23:37
2004.10.31
блок питания шумит


1-1097833041
diabolik_krsk
2004-10-15 13:37
2004.10.31
Размер последней колонки DBGrid


4-1096405863
Alex870
2004-09-29 01:11
2004.10.31
Цвет бордюра


14-1097759466
GuAV
2004-10-14 17:11
2004.10.31
http://www.delphimaster.ru/cgi-bin/forum.pl


1-1098085265
denis24
2004-10-18 11:41
2004.10.31
редактирование или добавление нового





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский