![]() |
|
|
|
|
#1
|
|||
|
|||
|
Добрый день. Есть номер договора, например 00002. Для дальнейшей работа с ним, мне нужно 0000 отделить от 2. т.е. присвоить переменной :null 0000, а переменной :num 2. Подскажите пожалуйста, как разделить 00002 на ноли и цыфры. Спасибо.
|
|
#2
|
|||
|
|||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var num1,num2, num:string;
i:integer;
begin
num:='00002';
for i:=1 to Length(num) do
//перебираем все цифры числа и ищем где кончатся нули и начнутся цифры отличные от нуля
if num[i]<>'0' then
begin
num1:=Copy(num,1,i-1);
num2:=Copy(num,i,Length(num));
break;
end;
ShowMessage('Число1: '+num1+' Число2: '+num2);
end;Последний раз редактировалось Snake22, 27.03.2013 в 17:16. |
| Этот пользователь сказал Спасибо Snake22 за это полезное сообщение: | ||
DOR (27.03.2013)
| ||
|
#3
|
||||
|
||||
|
StrToInt(str: string) проглатывает всё что имеет пачку нулей перед собой.
Т.е. StrToInt('0000000000002') вернёт двойку. Если прикрутить сюда ещё Length('0000000000002') можно всегда узнать количество нулей, и само число. Последний раз редактировалось Uniq!, 27.03.2013 в 18:29. |
|
#4
|
||||
|
||||
|
Цитата:
Код:
function IntToStr(Value: Integer): string; >> Код:
function StrToInt(const S: string): Integer; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Uniq! (27.03.2013)
| ||
|
#5
|
||||
|
||||
|
Цитата:
Спасибо, я банально опечатался. |
|
#6
|
|||
|
|||
|
Простите мою глупость. Можно написать код на моем примере? Так как это сделал Snake22.
|