transformation - 如何对摇动中的小数值进行四舍五入?

标签 transformation jolt

我的输入如下,

输入:

{
   "value": 265.3
}

我想删除小数值。

输出:

{
   "value": 265
}

震动:

[{
  "operation": "modify-overwrite-beta",
  "spec": {
     "value": "=toLong"
  }
}]

这适用于删除小数,但不适用于四舍五入,例如,

268.1  --->  268

268.9  --->  269

有人可以建议我针对上述场景的解决方案吗? 谢谢。

最佳答案

您可以通过舍入然后转换为int来实现:

输入Json:

{
  "value1": 268.1,
  "value2": 268.9
}

震动规范

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=divideAndRound(0,@(0),1)"
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=toInteger"
    }
  }
]

结果:

{
  "value1" : 268,
  "value2" : 269
}

关于transformation - 如何对摇动中的小数值进行四舍五入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51927870/

相关文章:

macros - Lisp 或 Scheme 中是否有整个程序转换宏?

json - 我们如何遍历震动规范?

java - 如何使用 Jolt 规范将 Json 转换为 Json?

r - 将带有 dimnames 的矩阵转换为长格式 data.frame

javascript - threejs 在使用变换控件时禁用轨道相机

矩阵变换的Opengl顺序

json - JOLT 仅在不为 NULL 时连接

json - Nifi - 忽略(或删除)JSON 的第一个数字

java - 从apache nifi中的嵌套json中提取值

integer - 仅使用整数的 DCT