0

我在输入中得到一个字段 AnnualRevenue,我必须寻找这样的条件:如果该字段中有小数,我想将其代入整数,但如果它不是小数,则无需任何转换即可传递. 谁能告诉我如何在 mulesoft 的 dataweave 中实现这一点。

4

4 回答 4

0

除了 subtring 之外,您还可以通过创建全局 MEL 函数来使用 MEL/java 的整数转换,然后在 dataweave 表达式中使用它。

<configuration doc:name="Configuration">
    <expression-language>
        <global-functions>
            def removeDecimal(value) {
            return (long) value
            }
        </global-functions>
    </expression-language>
</configuration>

然后在您的数据编织表达式中:

%dw 1.0
%output application/json
---
{
    "result": removeDecimal(-21.83)
}

希望能帮助到你。

干杯

于 2016-02-23T08:55:01.223 回答
0

对于另一种选择,您可以使用正则表达式:

%dw 1.0
%output application/java
---
{
    result: "123.45" replace /(\.[0-9]*)/ with ""
}
于 2016-02-23T09:17:02.940 回答
0
input:

<employees>
  <employee>
  <name>salumiah-syed</name>
  </employee>
</employees>

%dw 1.0
%output application/xml 
---
result: (payload.employees.employee.name splitBy "-") [0] 
于 2017-01-03T13:53:30.900 回答
0

或者

%dw 1.0
%output application/java
---
{
     value: "123.45",    
     result: ("123.45" as :number) as :string {format: "#"}
}

参考:https ://docs.mulesoft.com/mule-runtime/3.9/dataweave-operators#coerce-to-string

于 2020-01-16T01:23:52.737 回答