Mule 要在给定的18位字符串中动态放置小数点(表示金额)

Mule 要在给定的18位字符串中动态放置小数点(表示金额),mule,Mule,我有两个变量,即数量(18个字符)和精度(2个数字)。我想根据精度值将小数点放在金额中。 假设amount=1000000000000000和precision=2,然后使用dwl将amount转换为100000000000000.00 请注意,由于性能问题,我不想使用全局函数 我试过了,用的是每100美元。这给了我指数1.0E15 dwl- 预期输出为{amount:10000000000000.00}请参阅有关MuleSoft的以下文档: 收益率: {“amount”:“10000000

我有两个变量,即数量(18个字符)和精度(2个数字)。我想根据精度值将小数点放在金额中。
假设amount=1000000000000000和precision=2,然后使用dwl将amount转换为100000000000000.00

请注意,由于性能问题,我不想使用全局函数

我试过了,用的是每100美元。这给了我指数1.0E15

dwl-


预期输出为{amount:10000000000000.00}

请参阅有关MuleSoft的以下文档:

收益率:


{“amount”:“1000000000000000.00”}

我在下面的实现中使用了,现在这正好满足了我的需要在格式化输出之前,我只需要将数字除以10(或者根据精度值除以100或1000等)。

%dw 1.0
    %output application/json
    ---
    {
        "amt" : "100123456789123456789" /"1000" as :string {format: "#"}
    }
收到的输出:

{“金额”:10012345678123456.789 }


请勾选我答案旁边的绿色复选标记,将问题标记为已回答。谢谢上述解决方案在我需要精确设置数字格式的情况下有效。如果我还没有精度,我想把精度放在一些随机值的基础上。i、 我想把小数点放在数字123的第2位,我希望返回的数字是1.23。
%dw 1.0
%output application/json
---
{
amount :100000000000000000 as :string {format: "#.00"}
}
%dw 1.0
    %output application/json
    ---
    {
        "amt" : "100123456789123456789" /"1000" as :string {format: "#"}
    }