Заполнение фиксированного числа ведущими нулями до фиксированной длины

В Crystal Report с использованием Visual Studio 2010 я пытаюсь создать формулу для следующего сценария:

x = любое число (фиксированное число из 8 цифр, не может быть меньше или больше)

Если длина X меньше 8, добавьте необходимое количество нулей в начале, чтобы его длина равнялась 8.

Eg:

X = 123
Result of Formula should be 00000123

X = 9
Result of Formula should be 00000009

Любая помощь будет оценена. Заранее спасибо.


person aMazing    schedule 12.06.2012    source источник
comment
Просто примечание: у вас не может быть числа с ведущими нулями, поскольку нули слева не имеют математического назначения. Вам нужно будет преобразовать число в строку, прежде чем его можно будет отобразить.   -  person Simon MᶜKenzie    schedule 12.06.2012
comment
Хм.. да имеет смысл в том, что вы говорите. Тогда можно использовать строку.   -  person aMazing    schedule 12.06.2012
comment
Я понял правильно(0000&{MyFieldToPad},8) Работает отлично, как я и хотел.   -  person aMazing    schedule 12.06.2012


Ответы (2)


ToText({table.field},"00000000") более лаконичен.

person craig    schedule 12.06.2012
comment
Я не понимаю, что было такого двусмысленного, расплывчатого, неполного, слишком широкого в вопросе, что он помечен как ЗАКРЫТЫЙ. Серьезно, ребята, которые поняли суть вопроса, уже ответили на него и теперь какой смысл его ЗАКРЫВАТЬ. - person aMazing; 14.06.2012
comment
Эта формула не работает для меня. Разве маска формата не предназначена только для полей даты? - person Sun; 27.11.2013
comment
ToText -> =Текст - person Sandeep Jindal; 26.08.2015

Я понял

Right("0000"&{MyFieldToPad},8)

Работает идеально, как я хочу.

person aMazing    schedule 13.06.2012