lre*_*234 1 awk decimal-point rounding
我有一个这样的清单:
Cond1 4 0.2343
Cond2 10 1.765
Cond3 8 1.9234
Run Code Online (Sandbox Code Playgroud)
我试图将第 3 列中的值四舍五入到 2 个小数点,使其看起来像这样:
Cond1 4 0.24
Cond2 10 1.77
Cond3 8 1.92
Run Code Online (Sandbox Code Playgroud)
我知道在 awk 中有一种方法可以做到这一点,但我似乎无法弄清楚。
使用%.2f修饰符printfor sprintf():
$ awk '{printf "%s %s %.2f\n",$1,$2,$3}' file
Run Code Online (Sandbox Code Playgroud)
或者
$ awk '{$3=sprintf("%.2f",$3)}1' file
Run Code Online (Sandbox Code Playgroud)
输出:
Cond1 4 0.23
Cond2 10 1.76
Cond3 8 1.92
Run Code Online (Sandbox Code Playgroud)
更多,例如,这里:
https://www.gnu.org/software/gawk/manual/html_node/Format-Modifiers.html