You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jackson-jq 0.x将数字转换为两位精度格式?

解决jackson-jq 0.x版本数字转为两位精度格式的问题

jackson-jq 0.x版本没有直接提供格式化到两位小数的内置函数,但可以通过组合现有函数实现你的需求。以下是两种可行方案:

方案1:使用@printf格式化(优先尝试)

如果你的版本支持@printf函数,可以直接用格式化字符串实现:

your_number | tonumber | @printf "%.2f"

这个表达式会自动将数字格式化为两位小数,比如:

  • 1 → "1.00"
  • 1.0 → "1.00"
  • 1.1 → "1.10"
  • 1.00 → "1.00"

方案2:手动字符串补全(兼容所有0.x版本)

如果@printf不可用,可通过数字运算+字符串处理的组合方式实现:

your_number | tonumber | (. * 100 | round) / 100 | tostring | 
  if index(".") then 
    (split(".") | .[1] += "00" | .[1][:2] | join(".")) 
  else 
    . + ".00" 
  end

步骤说明:

  • tonumber:确保输入是数字类型(处理字符串形式的数字)
  • (. * 100 | round) / 100:将数字四舍五入到两位小数(若不需要四舍五入,可替换round为floor或ceil)
  • tostring:转换为字符串格式
  • 字符串分支处理:
    • 若包含小数点,将小数部分补两个0后截取前两位,再拼接整数部分
    • 若不包含小数点,直接追加.00

内容的提问来源于stack exchange,提问作者Shivam Chetani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:15:33