0

我正在尝试将 JSON 从一种模式转换为另一种模式,但在转换十进制数据类型时遇到问题。每当转换小数时,都会四舍五入到小数点后 5 位。下面提到的是输入:

{
  "inputvalue": 44.84839234
}

输出如下:

{
  "outputvalue": 44.84839
}

Liquid地图如下:

{   
    "outputvalue": {{content.inputvalue}}
}

为什么会发生这种舍入?

4

2 回答 2

0

按照微软的说法,这是一个错误,很快就会修复。请参阅下面的帖子:

https://github.com/MicrosoftDocs/azure-docs/issues/50905#issuecomment-606404515

于 2020-03-31T05:48:47.017 回答
0

根据一些测试,这应该是设计引起的问题。在我的测试中,我使用过滤器“ round ”来保留超过五位小数。但它仍然显示为44.84839. 所以我认为 azure 中的液体模板无法实现这个要求,我们唯一能做的解决方法是inputvalue在生成数据源时将数字转换为字符串。

顺便说一句,如果我们使用{% assign a = content.inputvalue | Times: 1 %},我们可以保留更多的小数。但是数字会不准确(可能是版本的原因),你也可以试试看能不能满足你的需求。

于 2020-03-26T06:39:04.503 回答