JQ:如何将被识别为字符串的值相乘?

2024-04-16

我正在尝试从交换网络套接字获取一些贸易信息。 在我从套接字获取的 JSON 中,值 .p 和 .q 都用双引号括起来。

当我尝试将两个值相乘时,它表示我正在尝试将两个字符串相乘。因此,我通过 tonumber 过滤器传递这些字符串,并且错误消息发生了一些变化,但无法让它真正工作。

JSON:

{"e":"aggTrade","E":1562109562958,"s":"BTCUSDT","a":134343336,"p":"10796.60000000","q":"0.00139000","f":147532295,"l":147532295,"T":1562109562951,"m":false,"M":true}

下面的命令后面是它们的输出:

... | jq  '"\(.p*.q)"'
    jq: error (at <stdin>:1): string ("10796.6000...) and string ("0.00139000") cannot be multiplied

Then:

... | jq  '"\(.p|tonumber*.q|tonumber)"'
jq: error (at <stdin>:1): Cannot index string with string "q"
... | jq  '"\("\(.p|tonumber)"*"\(.q|tonumber)")"'
jq: error (at <stdin>:1): string ("10796.6") and string ("0.00139") cannot be multiplied

我得到的最接近的是下面的代码,但它输出了很多页结果,而我只期望一个结果......

... | jq  '.q as $qtty | "\(.p|tonumber*$qtty|tonumber)"'

Or:

... | jq  '.q as $qtty | "\(.p|tonumber*"\($qtty|tonumber)")"'

它输出的数字太多了!

即使使用 -r 选项,它也不起作用。 我希望只出现乘法的原始结果,如下所示:

15.0072740

把事情简单化,

jq -r '(.p | tonumber)*(.q | tonumber)'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQ:如何将被识别为字符串的值相乘? 的相关文章

随机推荐

  • 在c中动态增加数组(int *)的大小

    我想动态地将数字添加到c中的数组中 我的想法是分配一个大小 1 的新数组 添加数字 释放根数组并将指针从 temp 更改为根数组 像这样 void addNumber int a int size int number size size
  • Django 根据日期时间按日期进行分组计数

    我正在尝试计算用户从日期时间字段注册的日期 在数据库中 它存储为 2016 10 31 20 49 38 但我只对日期 2016 10 31 感兴趣 原始 SQL 查询是 select DATE registered at register
  • Javascript Gallery 自动使用页面上的所有大图像

    我有一个网站 一个大页面上有很多图像 最简单的是我可以包含一个脚本 它自动搜索同一页面并使用所有大于 100 像素的图像来创建幻灯片库 有人知道这样一个简单的脚本 不需要任何编程技能吗 我发现这是一个开始 jQuery 获取大于特定尺寸的元
  • 创建以字母数字开头的 Oracle 序列

    我想创建以字符开头的序列inv并增加 1 的价值观 INV01 INV02 INV03 etc CREATE SEQUENCE invoice nun START WITH INV INCREMENT BY 1 只能创建整数值序列 所以声明
  • JSF @ViewScoped Bean 状态丢失

    我正在将 ViewScoped Bean 用于小型 CRUD 应用程序 我有一个编辑和查看页面 但是当我单击按钮 编辑 时 它将呈现编辑表单 编辑表单出现后 保存按钮或取消按钮不会调用该函数 而是呈现整个页面 actionListener
  • Extjs组合框:隐藏下拉列表中的选定值

    我正在使用 ExtJS 4 并寻找一种可以从组合的下拉列表中隐藏当前选定值的方法 因此 代替这个 当前在组合框中选择 阿拉斯加 我希望值列表如下所示 就我而言 组合框是不可编辑 即您不能输入任意值 我认为两次显示所选值没有多大意义 一次在输
  • 使用 Laravel 5 (Lumen) 中的基本路径

    我在一个项目中使用 laravel 在我的本地计算机上 我必须访问的服务器只是 laraveltest dev 当我打开这个 URL 时 项目运行正常 没有任何问题 但是 当我将其上传到测试服务器上时 这些内容位于子文件夹中 如下所示 la
  • xdebug.so:未定义的符号:zend_ce_error

    我需要调试旧的 php 版本 PHP 5 6 22 cli built Jun 29 2016 14 26 09 Copyright c 1997 2016 The PHP Group Zend Engine v2 6 0 Copyrigh
  • 如何加载之前存储的svm分类器?

    我正在 Visual Studio 中使用 openCV SVM OpenCV 2 4 4 0 我训练它 mySVM train trainingDataMat labelsMat Mat Mat params 已保存 mySVM save
  • 用通用函数替换普通函数

    我想将 elt nth 和 mapcar 等名称与我正在原型设计的新数据结构一起使用 但这些名称指定普通函数 因此我认为需要将其重新定义为通用函数 重新定义这些名称可能是一种不好的形式 有没有办法告诉 defgeneric 不要生成程序错误
  • 如何在范围末尾自动调用 Pop-Location

    假设我有一个简单的范围 以 Push Location 和 Pop Location 结尾 Function MyFunction Location Push Location Location do other stuff here Po
  • 如何从JTable中获取图标

    我已经更改了单元格渲染JTable使用以下代码显示图像而不是文本 base table getColumnModel getColumn 3 setCellRenderer new TableCellRenderer Override pu
  • 正则表达式从文本文件中提取文本块?

    我需要使用正则表达式从 Python 文本文件中提取标题及其下方的文本块 但我发现这很困难 我转换了这个PDF https www docdroid net rduS8oC pdfsam doc pdf文本 现在看起来像这样 到目前为止 我
  • 递归地更改绘图类型(带线、带点)

    我正在尝试为基于 Julia 的 gnuplot 创建一个包装器来自动化我的绘图 我的目标是为 Julia 提供要绘制的文件名 要使用的线条样式类型以及要绘制的列 例如 如果我有文件test1 and test2 都有 3 列和标题 tim
  • 计算程序启动的次数

    如何在不保留文件和统计的情况下获取程序先前在 C 中运行的次数 c 中是否有应用程序类或其他内容来检查计数 请给出详细的解释 因为我对此一无所知 这是一个 Windows 控制台应用程序 而不是 Windows 窗体 您可以在以下位置创建一
  • 当 ObservableCollection 中的项目更新时更新 ItemsControl

    问题 你声明一个ItemsControl 或派生自的控件ItemsControl 在里面 看法 您绑定ItemsControl ItemsSource财产给ObservableCollection在你的视图模型中 当项目添加到 删除时 您的
  • 播放框架根据环境覆盖“application.conf”值

    玩 2 6 x Scala 我有一个默认的application conf文件夹内 project conf 但我想根据环境通过传递相应的文件作为命令行参数来覆盖一些值 如文档中详述 https www playframework com
  • 窗口调整大小处理事件

    我的应用程序的某些元素具有自定义调整大小事件 这些事件都有效 然而 他们却被一件事搞砸了 当将鼠标悬停在窗口边框上时 光标将成为调整大小手柄 然后单击 但不要拖动 元素的大小调整不正确 并且我的处理程序不会被触发 我已经寻找过这样的事件 但
  • 如何在下面给出的数字数组中找到锯齿状数组中的最大数字?

    如何在下面给出的数字数组中找到锯齿状数组中的最大数字 const array 2 4 10 12 4 100 99 4 3 2 99 0 如果您知道嵌套的最大深度 那么您可以flat数组并找到最大值 Math max array flat
  • JQ:如何将被识别为字符串的值相乘?

    我正在尝试从交换网络套接字获取一些贸易信息 在我从套接字获取的 JSON 中 值 p 和 q 都用双引号括起来 当我尝试将两个值相乘时 它表示我正在尝试将两个字符串相乘 因此 我通过 tonumber 过滤器传递这些字符串 并且错误消息发生