![]() |
|
#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.
|
#7
|
||||
|
||||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); var art : string; num,col0 : integer; begin art := '00120'; col0 := Length(art) - Length(IntToStr(StrToInt(art))); num := StrToInt(art); Caption := IntToStr(num) + ' нулей:' + IntToStr(col0); end; |
#8
|
|||
|
|||
![]() Цитата:
col0 должен не считать количество 0, а записать ввиде 00 |
#9
|
||||
|
||||
![]() Кхм...
Код:
stroka_s_ky4ei_nylei := StringOfChar('0',col0); ![]() |
Этот пользователь сказал Спасибо Uniq! за это полезное сообщение: | ||
DOR (27.03.2013)
|