2
echo 2 9|awk '{printf("%.0f\n",$2/$1)}'
4
結果爲4;printf awk舍入
但是,
echo 2 3|awk '{printf("%.0f\n",$2/$1)}'
2
結果是2
爲什麼?誰可以告訴我?
echo 2 9|awk '{printf("%.0f\n",$2/$1)}'
4
結果爲4;printf awk舍入
但是,
echo 2 3|awk '{printf("%.0f\n",$2/$1)}'
2
結果是2
爲什麼?誰可以告訴我?
浮點數不是抽象數字,也不能始終精確地表示值。
對這個問題的回答「floating point calculations in awk」對問題有很好的解釋。
關於浮點數字:http://floating-point-gui.de/formats/fp/ – hek2mgl
是的,這一直很奇怪。在shell提示符下,'printf'%.0f \ n'0.5 1.5 2.5 3.5' – ghoti
@ hek2mgl謝謝!非常豐富! :) – ghoti