Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Преобразовать число: n в 0000n


Автор: lamravas 28.4.2008, 09:24
У меня такой вопрос как преобразовать целое число N в число 0000n\
Т.е. нам даны любые числа целые надо их преобразовать в формат в другое число
С максимальной длиной в 5 символов слева дополненное нулями
1=00001
23=00023
123=00123
 и т.д. надеюсь принцип ясен.
Кто нибудь знает как это сделать можно?

Автор: CompWorm 28.4.2008, 09:57
Код

function FormatTheNum(Num, Numbase: integer):string;
var i: integer;
begin
 Result:='';
 if length(inttostr(Num))<=Numbase then begin
   for i:=1 to Numbase-length(inttostr(Num)) do
      Result:=Result+'0';
   Result:=Result+inttostr(Num);
 end else Result:='Error';
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
 form1.Caption:=FormatTheNum(123, 5);
end;


писал на коленке, но должно работаеть  smile 

Автор: lamravas 28.4.2008, 10:02
CompWorm , спасибо щас попробую

Добавлено через 13 минут и 54 секунды
спасибо CompWorm
Все работает отлично smile 

Автор: aktuba 28.4.2008, 12:54
Код

function GetStr(AInt: Integer): string;
const
  C_Null = '00000';
var
  lStr: string;
begin
  lStr := IntToStr(lInt);
  Result := Copy(C_Null, 1, Length(C_Null) - Length(lStr)) + lStr;
end;


Мне кажеться так будет правильнее и проще  smile 

Автор: MetalFan 28.4.2008, 14:32
а еще правильнее и проще будет так:
Код

  lStr :=   Format('%.5d',[ANumber]);

Автор: CompWorm 28.4.2008, 15:45
Цитата

а еще правильнее и проще будет так:

реал крутой способ! smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)