Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 FormatFloat  [new]
Двоичник
Member

Откуда: Бобруйск
Сообщений: 254
Помогите, пожалуйста

Моя программа работает с оборудованием, номер у которого в формате строки. Однако само оборудование возвращает свой номер в виде числа.
Мне нужно у этого числа, слева заполнить нолями.

Номер оборудования 123456
А для работы с ним, нужно чтобы я обращался к нему, и говорил, что его номер 0123456

делаю так
HW.SerialNumber := FormatFloat('0000000', Integer(DB.SerialNumber)


Все бы ничего, но появилась необходимость, расширить эту возможность для использования и другого оборудования. но у них номер 14ти значный

и номер оборудования 123456789
И нужно сделать так, чтобы
HW.SerialNumber = 00000123456789

Не могу сообразить, как сделать это на дельфе.
Спасибо
10 янв 17, 16:07    [20090026]     Ответить | Цитировать Сообщить модератору
 Re: FormatFloat  [new]
DimaBr
Member

Откуда:
Сообщений: 10099
Caption := FormatFloat(StringOfChar('0',14), 123456789);
10 янв 17, 16:14    [20090074]     Ответить | Цитировать Сообщить модератору
 Re: FormatFloat  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 22336
А так не?
var i: integer;
begin
    i := 10;
    ShowMessage(Format('%.10d', [i]));
10 янв 17, 16:19    [20090100]     Ответить | Цитировать Сообщить модератору
 Re: FormatFloat  [new]
Mizer
Member

Откуда: Питер
Сообщений: 588
Двоичник
Помогите, пожалуйста

Моя программа работает с оборудованием, номер у которого в формате строки. Однако само оборудование возвращает свой номер в виде числа.
Мне нужно у этого числа, слева заполнить нолями.

Номер оборудования 123456
А для работы с ним, нужно чтобы я обращался к нему, и говорил, что его номер 0123456

делаю так
HW.SerialNumber := FormatFloat('0000000', Integer(DB.SerialNumber)


Все бы ничего, но появилась необходимость, расширить эту возможность для использования и другого оборудования. но у них номер 14ти значный

и номер оборудования 123456789
И нужно сделать так, чтобы
HW.SerialNumber = 00000123456789

Не могу сообразить, как сделать это на дельфе.
Спасибо


я себе делал отдельную маленькую процедурку конвертирования, которая возвращало строку.
вначале прибавлял строку с "0", например "000000000000000000". потом отсекал нужный хвост в N знаков. можно было в зависимости от условия формировать любое начало любого формата.
10 янв 17, 16:26    [20090163]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить