shell - awk 乘法给我的值与 2 个数字的正常乘法不同
问题描述
dummy.txt 有以下数据
3 19108601157904265
当我尝试使用以下命令进行算术计算时
awk '{ print $1, ($1-1) * $2 }' dummy.txt
我得到的答案是
3 38217202315808528
但应该是
3 38217202315808530
正常的命令行计算给了我预期的价值。
>a=2
>b=19108601157904265
>echo $(( a * b ))
>38217202315808530
不知道为什么我得到的值小于实际乘法。提前致谢。
如果 gawk 版本大于 4.1 而我当前的 gawk 版本较旧,则“在 awk 中打印长整数”问题中给出的解决方案有效。
解决方案
推荐阅读
- scala - 在特征中实现子类型会引发错误“预期的类或对象定义”
- javascript - 这个基于 Python 的 Javascript 比较解决方案的等价物是什么?
- ios - 如何在表格视图单元格之前按时加载 Http 请求
- c - 在哪里可以找到实现编译器所需的完整 C 语法?
- python - aiohttp:对同一 URL 的多个请求返回身份验证错误,但 URL 正确
- java - 我应该如何记录参数“说”?
- android - 计算否定结果 - 数学失败
- c# - 为什么我的财产通知没有触发?
- memory - 什么是“昂贵”与“便宜”的内存?
- angular - 如何console.log里面订阅