度量对象-平均四舍五入到小数点后两位



这可能很简单,只需将语句分离出来,不使用多个管道,但是,我有以下代码,它输入一个文本文件,其中包含0.0到11.0或更多的不同(通常为~800(行数字。使用Powershell,我想取所有这些值并取平均值,四舍五入到小数点后两位。下面是尝试使用Measure-Object -Average的代码,但我知道这不是最好的选择,因为它输出的信息包括Count、Max和Min,而我想要的只是没有其他txt的平均值。

Get-Content C:daily_values_uv_temp2_non_avg.txt | Measure-Object -Average | Out-File C:daily_values_uv.txt

Get-Content返回字符串。如果你想计算数字的平均值,你需要先将其转换。。。像这样的东西:

Get-Content -Path C:daily_values_uv_temp2_non_avg.txt |
ForEach-Object{[float]$_} |
Measure-Object -Average |
Select-Object -Property Average -OutVariable result
[MATH]::Round($result.average,2)

要将结果四舍五入到小数点后两位,可以使用[MATH]类的Round()方法。

马蒂亚斯是对的。。。我不知道。谢谢

所以您实际上只需要添加Select-Object来选择您想要的属性。

Get-Content C:daily_values_uv_temp2_non_avg.txt | 
Measure-Object -Average | 
Select-Object -ExpandProperty Average |
Out-File C:daily_values_uv.txt

最新更新