在 mulesoft 上填充零

Padding zeros on mulesoft

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

类似

String.format("%056", variable_number);

我在 datamapper 上试过了,但没用。我错过了什么吗?

为了满足这个要求,然后调用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)
}

D,

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

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

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

希望对您有所帮助!

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

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

如果由于某种原因您不能使用 dataweave 运算符来完成,您可以通过使用 java 库编写全局函数并从 dataweave 调用它们来实现。

在Dataweave中简单定义like

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

输出会像0012