![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
копирование нестандартной длины строки [D6, Win95/98, WinXP]
Yurij-7 © (2005-02-23 16:44:00)Господа прошу помочь в следующей ситуации:
есть строка вида : "обороты 2180."
как из нее вытянуть только числовую векличину, в данном случае 2180, но может быть и 3 числа в конце строки.
Спасибо.
Antonn (2005-02-23 17:04:00) [41]Yurij-7
в обрабатываемой строке сколько численых значений? а то может там даты, проценты...
Sandman25 (2005-02-23 17:01:00) [42]StrToInt
Sandman25 (2005-02-23 16:59:00) [43]for
if
:=
IntToStr
Yurij-7 (2005-02-23 16:58:00) [44]а какую функцию использовать неподскажите?
olookin (2005-02-23 16:58:00) [45][5] Antonn © (23.02.05 16:57)
Здрасьте, а разве решение не должно подразумевать многозначность входной величины?
olookin (2005-02-23 16:57:00) [46]Тогда уж кусать строку на части по пробелам. А потом уже применять StrToNum
Antonn (2005-02-23 16:57:00) [47]olookin © (23.02.05 16:53) [3]
какое условие, такое и решение:)
Antonn (2005-02-23 16:55:00) [48]Antonn © (23.02.05 16:47) [2]
function str2num(s:string):string;
var i:integer; s_tmp:string;
begin
result:='';
for i:=0 to length(s) do
if (ord(s[i])>47)and(ord(s[i])<58) then
result:=result+s[i];
end;
olookin (2005-02-23 16:53:00) [49][2] Antonn © (23.02.05 16:47)
При строке типа "обороты на 20.03.2005 составили 1.452.000 млн руб." и делимитере "." получится "20.03.20051.452.000.". И чем это поможет?
Antonn (2005-02-23 16:47:00) [50]Yurij-7 (23.02.05 16:44)
перебрать строку посимвольно, копировать в переменную только цифры и делиметр.
Sandman25 (2005-02-23 16:45:00) [51]Сканировать строку с конца и смотреть, когда закончатся цифры?