2016-06-05 3 views
0

datamapper/dataweave를 사용하여 숫자에 고정 길이가 있고 길이를 채우려면 0으로 채워지는 형식 문자열을 발행 할 수 있는지 궁금합니다.mbersoft에서 0을 채우는 중

뭔가

같은 및 String.format ("% 056", variable_number);

나는 datamapper에서 이것을 시도했지만 작동하지 않습니다. 내가 놓친 것?

답변

4

D,

dataweave에서, 당신은 단순히 같은 숫자의 서식을 지정할 수 있습니다 -

012,340,467,542을

그러면 00005이 출력됩니다. 원래 길이가 0보다 작은 경우 숫자는 0으로 채워집니다. 예. 123 ->00123

희망 하시겠습니까?

+0

안녕하세요 Manik, 아직 패딩 된 버전을받지 못했습니다. 그 문자열을 문자열 매핑으로, 중요한지 확실하지 않습니다. 'BaleNumber : bale.ns0 # BaleNumber 형식 : 문자열 {형식 : "00000"}' –

+1

@ 폴드. 당신의 입력이 문자열이면 비밀 번호를 먼저 '데이터 : ('5 ': 숫자)로 : 문자열 {형식 :'00000 '}' –

+0

놀라워! 감사합니다 Manik! –

3

이 요구 사항을 수용하려면 Global MEL Functions from DataWeave으로 전화하십시오.

글로벌 MEL 기능 :

<configuration doc:name="Configuration"> 
    <expression-language> 
     <global-functions> 
      def zeroPad(variable_number) { 
       String.format("%05d", variable_number); 
      } 
     </global-functions> 
    </expression-language> 
</configuration> 

DataWeave 스크립트 :

%dw 1.0 
%output application/json 
--- 
{ 
    result: zeroPad(123) 
} 
+0

안녕하세요 sulthony이 솔루션을 시도했지만 메신저 때 디버거를 사용하여 매달려 있었다. 여전히 패딩되지 않은 문자열을 생성합니다. –

관련 문제