gpt4 book ai didi

哦。四舍五入除法结果

转载 作者:行者123 更新时间:2023-12-04 04:52:35 25 4
gpt4 key购买 nike

我有一个测试文件:

user1   230230  1970
user2 313221 1978
user5 212334 1924
user3 313221 1987
user4 212345 1999
user3 123456 1983
user5 121212 1903
user2 234234 1992
user3 124690 1922
user5 092343 1945

当我运行这个脚本时:
 awk 'BEGIN{OFMT="%.2f"}{user_arr[$1]+=$2;user_arr_count[$1]+=1;}END{for (el in user_arr) {n=user_arr[el]/user_arr_count[el];print n}}' test

我得到结果
230230
273727.50
187122.33
212345
141963

但如果我跑
awk 'BEGIN{OFMT="%.2f"}{user_arr[$1]+=$2;user_arr_count[$1]+=1;}END{for (el in user_arr) {n=user_arr[el]/user_arr_count[el];print n" "el}}' test

我得到轮值:
230230 user1
273728 user2
187122 user3
212345 user4
141963 user5

为什么结果是四舍五入的?
谢谢你的解释!

最佳答案

在第一个脚本中,您正在打印值 nawk知道将其视为数字,但是在您打印的第二个脚本中 n" "el这被视为字符串,因为您使用的是字符串连接。你想做的是print n,el .

我会写这样的脚本:

$ awk '{u[$1]+=$2;c[$1]+=1}END{for(i in u)print i,u[i]/c[i]}' OFMT="%.2f" file
user1 230230
user2 273727.50
user3 187122.33
user4 212345
user5 141963

关于哦。四舍五入除法结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17212164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com