字符串在awk中从数字转换为字符串

Amo*_*ute 5 unix bash awk

我有下面的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都是不相等的,那么精度就有差异.

eto*_*ght 7

从GNU Awk用户指南,强制将数字转换为字符串,将该数字与空字符串连接起来 ""

$ echo '1600000.00000000' '1600000.0000' |
  awk '{ print ($1"" != $2"") ? "true" : "false" }'
Run Code Online (Sandbox Code Playgroud)

  • 我认为连接其中一个就够了......`($ 1""!= $ 2)` (3认同)