【发布时间】:2016-08-27 15:50:41
【问题描述】:
在 bash 终端中考虑以下命令:
echo 0.00027849383762390271 | awk '{print sprintf("%.20f",$1)}'
我连接到两台机器。
第一个有 GNU Bash 4.15 版和 GNU Awk 3.1.7 版。上面的命令返回预期的结果:0.00027849383762390268(虽然最后两位数字与我的初始数字不同)
第二台机器有 GNU Bash 版本 3.2.39 和 GNU Awk 版本 3.1.5。上面的命令返回:0,00000000000000000000(逗号后 20 个零)。注意“,”而不是“。” .
为什么第二台机器的行为与第一台机器不同,以及如何使其表现得像第一台机器?
【问题讨论】:
标签: bash awk gnu multiple-versions