我有下面的awk命令,也给出了提到的结果.
echo '1600000.00000000' '1600000.0000' | awk '{ print ($1 != $2) ? "true" : "false" }'
Run Code Online (Sandbox Code Playgroud)
结果是: - 假
根据数值,命令给出的结果是正确的.但我希望命令必须同时考虑输入('1600000.00000000' '1600000.0000')string和结果为true.因为如果你认为两个输入string都是不相等的,那么精度就有差异.
从GNU Awk用户指南,强制将数字转换为字符串,将该数字与空字符串连接起来 ""
$ echo '1600000.00000000' '1600000.0000' |
awk '{ print ($1"" != $2"") ? "true" : "false" }'
Run Code Online (Sandbox Code Playgroud)