You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免PowerShell Measure-Object取最大值时截断数据?

解决PowerShell Measure-Object返回大整数时的科学计数法截断问题

这个问题我太熟悉了!当处理像lastLogon这种超大的Int64类型数值时,PowerShell默认的输出格式会自动切换为科学计数法,导致末尾的有效数字被截断。这里有两个简单的方法可以解决:

方法1:格式化输出为完整字符串

直接将最大值转换为带指定格式的字符串,彻底避免科学计数法:

($UserDeets | Measure-Object -Property lastLogon -Maximum).Maximum.ToString('F0')

'F0'格式符会强制将数值转换为不带小数位的完整数字字符串,这样就能完整显示所有末尾数字,针对你的数据集,输出结果就是132282196073500496。

方法2:强制转换为Int64类型

因为lastLogon本质是Int64(64位整数),我们可以把Measure返回的最大值强制转换回Int64类型,让PowerShell以整数格式完整输出:

[int64]($UserDeets | Measure-Object -Property lastLogon -Maximum).Maximum

这个方法也能直接得到完整的数值,不会再出现1.322821960735E+17这种截断后的结果。

小提示

两种方法都能完美解决你的问题,你可以根据后续是否需要对这个数值做计算来选择:如果只是需要显示,方法1更直接;如果还要继续做数值运算,方法2保留了整数类型会更方便。

内容的提问来源于stack exchange,提问作者FrankU32

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 21:43:11