Форум: "Основная";
Текущий архив: 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.033 c