Войти

Показать полную графическую версию : Добавление нулей слева от числа


Jonik-Mnimonik
02-12-2008, 14:27
Мне нужно перевести integer в char и при этом добавить слева от числа нули.
Пример:
входные данные integer : 598
на выходе как стринг : 0000598
Есть ли такая функция?? И как это можно сделать.?

DJ@XON
02-12-2008, 16:44
Jonik-Mnimonik,
входные данные integer : 598
на выходе как стринг : 0000598 »
Как таковых, функий преобразования чисел с символы в делфи (ну или паскале) нет.
Это связано с тем, что числа в памяти представлены в 16-чной системе. Если нужно преобразовать, то неободимо выделять в 16 чном коде порядки чисел и переписывать их в символы цифр.

beksam
04-12-2008, 09:51
Есть такие замечательные функции LPAD() и RPAD()
Тебе нужно воспользоваться функцией LPAD.
Эта функция добавляет нужный символ в нужном количестве в левую сторону строки.
Для твоего примера эта функция выглядет вот так:
SELECT LPAD(TO_CHAR(598),7,'0') FROM DUAL;
----
0000598
Хотья у меня сработал и без преобразования в char, т.е.
SELECT LPAD(598,7,0) FROM DUAL;
----
0000598




© OSzone.net 2001-2012