2016-10-28 130 views
0

我有AWK以下问题:AWK比较两个科学浮点数

代码:

var=1.16000e-02 
size=1.10e-02 
foo=$(awk -v this="${var}" -v trg="$size" 'BEGIN { out=0; if(this=trg) out=1;printf "%i", out; exit(0)}') 

SH -x给了我下面的语句:

+ awk -v this=1.16000e-02 -v trg=1.10e-02 BEGIN { out=0; if(this=trg) out=1;printf "%i", out; exit(0)} 
+ foo=1 

为什么foo=1如果显然这不等于trg

回答

2

随着

if(this=trg) 

你变量trg的值设置为变量this的价值,应该是真实的,你自己做到了。你应该

if(this==trg) 
+0

woopsie,为时已晚。谢谢 ! – Tuni

+0

'woopsie,它太晚了'是什么意思? –