在mulesoft上填充零

时间:2016-06-05 23:27:20

标签: mule padding datamapper dataweave

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

类似

String.format(“%056”,variable_number);

我在datamapper上尝试了这个,但它不起作用。我错过了什么?

4 个答案:

答案 0 :(得分:6)

D,

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

data: 5 as :string {format:"00000"}

这将输出00005。如果原始长度小于0的数字,则数字将用0填充。 例如。 123 - > 00123

希望有所帮助!

答案 1 :(得分: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)
}

答案 2 :(得分:0)

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

上面给出的答案有效 data:5 as:string {format:“00000”}

如果出于某种原因你无法使用dataweave运算符,你可以通过使用java库编写全局函数并从dataweave调用它们来实现。

答案 3 :(得分:0)

在Dataweave中只需定义类似

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

输出将类似于0012