浮動小数点計算awk
を実行中の の動作に驚いています。テーブルデータの計算が間違っていました。
$ awk 'BEGIN {print 2.3/0.1}'
23 <-- Ok
$ awk 'BEGIN {print int(2.3/0.1)}'
22 <-- Wrong!
$ awk 'BEGIN {print 2.3-2.2==0.1}'
0 <-- Surprise!
$ awk 'BEGIN {print 2.3-2.2>0.1}' <-- Din't produce any output :(
$ awk 'BEGIN {print 2.3-2.2<0.1}'
1 <-- Totally confused now ...
誰かがここで何が起こっているかについて光を当てることができますか?
編集1
@fedorquiが指摘したように、最後から 2 番目のコマンドの出力は、リダイレクト演算子 ( > ) のために0.1という名前のファイルに移動します。
では、大なり( > ) 操作を実行するにはどうすればよいですか?
それに対する解決策は@fedorquiによっても提供されています
$ awk 'BEGIN {print (2.3-2.2>0.1)}'
0 <-- Wrong!