我正在将存储在有效负载中的字符串“0.0000000”转换为 Data Weave 语言 1.0 中的数字我尝试了有效负载。金额为:number%dw 1.0%output application/json---{ Amount: payload.Amount as :number when payload.Amount != null}我预计最终输出为0.0000000但我得到0E-7
3 回答
Helenr
TA贡献1780条经验 获得超4个赞
我认为你的期望是不正确的。根据RFC 4627 ,0E-7 是一个完全有效的 JSON 数字。任何正确的解析器都应该正确处理这个有效数字。与其他语言一样,数字在 JSON 中没有格式属性。只有当它们与字符串相互转换时,才能应用格式。由于这些原因,您无法告诉 DataWeave 使用特定的格式。
例子
%dw 1.0
%output application/json
%function withZeroes(x) x as :string { format: "#.####" } as :number
---
{
Amount: withZeroes(0E-7),
Amount2: withZeroes(0.000),
Amount3: withZeroes(0.0001),
Amount4: withZeroes(0.00001)
}
输出:
{
"Amount": 0,
"Amount2": 0,
"Amount3": 0.0001,
"Amount4": 0
}
添加回答
举报
0/150
提交
取消