在mulesoft上填充零

在mulesoft上填充零,mule,padding,datamapper,dataweave,Mule,Padding,Datamapper,Dataweave,我只是想知道是否有可能使用datamapper/dataweave发出一个格式字符串,在数字上有一个固定的长度,并填充零来完成长度 差不多 格式(“%056”,变量号) 我在datamapper上试过这个,但不起作用。我遗漏了什么吗?为了满足这一要求,请致电 全局MEL函数: <configuration doc:name="Configuration"> <expression-language> <global-functions>

我只是想知道是否有可能使用datamapper/dataweave发出一个格式字符串,在数字上有一个固定的长度,并填充零来完成长度

差不多

格式(“%056”,变量号)


我在datamapper上试过这个,但不起作用。我遗漏了什么吗?

为了满足这一要求,请致电

全局MEL函数:

<configuration doc:name="Configuration">
    <expression-language>
        <global-functions>
            def zeroPad(variable_number) {
                String.format("%05d", variable_number);
            }
        </global-functions>
    </expression-language>
</configuration>
%dw 1.0
%output application/json
---
{
    result: zeroPad(123)
}
D

在dataweave中,您可以简单地将数字格式化为-

data: 5 as :string {format:"00000"}
这将输出
00005
。如果原始长度小于0的数量,则数字将填充为0。 例如,
123
->
00123


希望有帮助

我有类似的要求,并通过首先使用带零的格式转换为字符串来完成t

以上给出的答案是有效的 数据:5为:字符串{格式:“00000”}


如果出于某种原因,您无法使用dataweave操作符来完成此操作,您可以通过使用java库编写全局函数并从dataweave调用它们来完成此操作。

在dataweave中,只需定义like即可

Field: "12" as :number {format: "0000"}

输出类似于
0012

嗨,sulthony,我尝试了这个解决方案,但在我使用调试器时它挂起了。它仍然生产非填充stringHi-Manik,我仍然没有得到填充版本。这是一个字符串到字符串的映射,不确定它是否重要BaleNumber:bale.ns0#BaleNumber为:字符串{格式:“00000”}@PaulD。如果您的输入是string,则转换为number first'数据:('5'as:number)as:string{format:'00000'}甚至不需要括号;)