小编Asi*_*ari的帖子

awk 将非常大的数字从十六进制转换为十进制的输出不准确

我有以下数据:“210000000080401”。我需要将十六进制“210000000080401”转换为其十进制形式。

使用 Awk 没有给出正确的结果:

echo 210000000080401|awk -Wposix '{printf "%d %s\n", "0x" $1, $0}'
148618787703751680 210000000080401
Run Code Online (Sandbox Code Playgroud)

而正确的值为 148618787703751681

echo 210000000080401 | tr '[:lower:]' '[:upper:]'|xargs -i{} bash -c 'printf "%d\n" 0x{}'
148618787703751681
Run Code Online (Sandbox Code Playgroud)

为什么 awk 没有给出正确的输出?

shell awk

1
推荐指数
1
解决办法
67
查看次数

标签 统计

awk ×1

shell ×1