Mule 3.9 Dataweave从整数掉落0.00

时间:2018-09-11 12:08:27

标签: json mule dataweave

下面是我的示例代码

<dw:transform-message doc:name="Transform Message" >
        <dw:set-payload><![CDATA[ %dw 1.0
                 %output application/json skipNullOn = "everywhere"
                 %function addTrailingZeros (numberWithoutTrailingZeros) (
                        numberWithoutTrailingZeros as :number  {class: "java.lang.BigDecimal"} 
                    )
                 ---
                 "test" : addTrailingZeros(12.00)
        ]]></dw:set-payload>
    </dw:transform-message>

我得到的输出是

{
"test": 12
}

但是我想要这个 {     “测试”:12.00 }

我尝试使用{format:“#。00”},但是它不起作用。如果您通过了12.01,它将正常工作。

请帮助我解决这个问题。 最简单的例子

{"test" :  7.00 as :number {format:'#.###'}}

不起作用

2 个答案:

答案 0 :(得分:2)

JSON数字不保留格式。有关JSON中数字限制的技术说明,请参见此答案,请参见https://stackoverflow.com/a/38357877/721855 如果您需要保留固定数量的小数位数,则可以使用字符串代替。这与打印格式化的十进制数相同。打印会将数字转换为字符串。

答案 1 :(得分:0)

使用以下方法检查:

std::vector<String> Img_seq(200);