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

PowerShell中设置百分比小数位数并去除尾随零的代码实现咨询

解决PowerShell百分比格式化:设置小数位数并去除尾随零

我来帮你完善这个PowerShell代码,实现格式化百分比并去除尾随零的需求。这里有两种可行的方案,你可以根据实际场景选择:

方案1:自定义文化信息+正则替换(适合需统一文化格式的场景)

这个方案保留了你原本使用CultureInfo的思路,通过正则表达式移除尾随零和多余的小数点,确保百分比显示最多两位小数且没有不必要的零:

$Obj = @(
    [PSCustomObject]@{ LimitNew = 5368709120; Usage = 6166915072 }
    [PSCustomObject]@{ LimitNew = 10737418240; Usage = 5368709120 }
    [PSCustomObject]@{ LimitNew = 107374182400; Usage = 86973087744 }
    [PSCustomObject]@{ LimitNew = 107374182400; Usage = 97710505984 }
)

# 创建自定义文化信息,避免修改系统默认设置
$CultInfo = New-Object System.Globalization.CultureInfo -ArgumentList 'en-us',$false
# 设置百分比最多显示2位小数
$CultInfo.NumberFormat.PercentDecimalDigits = 2

$Obj | Select-Object @{
    Label = 'pct used'
    Expression = {
        $percentValue = $_.Usage / $_.LimitNew
        # 先格式化为带两位小数的百分比
        $formattedPct = $percentValue.ToString('P', $CultInfo)
        # 正则移除尾随零和多余的小数点
        $formattedPct -replace '\.0+(?=%)', '' -replace '(?<=\d)\.(?=%)', ''
    }
}

代码说明:

  • 自定义CultureInfo是为了避免影响系统默认的数字格式设置,同时指定百分比的最大小数位数为2。
  • 两个正则表达式的作用:
    • \.0+(?=%):匹配小数点后连续的零(且后面紧跟%),将其替换为空,比如把50.00%变成50%。
    • (?<=\d)\.(?=%):匹配前面是数字、后面是%的孤立小数点(比如50.50%处理后变成50.5%,避免出现50.%的情况)。

方案2:自定义格式字符串(简洁高效,优先推荐)

如果你不需要特定的文化格式调整,直接使用自定义格式字符串0.##%就能一步到位,自动去除尾随零并最多显示两位小数:

$Obj = @(
    [PSCustomObject]@{ LimitNew = 5368709120; Usage = 6166915072 }
    [PSCustomObject]@{ LimitNew = 10737418240; Usage = 5368709120 }
    [PSCustomObject]@{ LimitNew = 107374182400; Usage = 86973087744 }
    [PSCustomObject]@{ LimitNew = 107374182400; Usage = 97710505984 }
)

$Obj | Select-Object @{
    Label = 'pct used'
    Expression = {
        ($_.Usage / $_.LimitNew).ToString('0.##%')
    }
}

代码说明:

  • 格式字符串0.##%的含义:
    • 0:强制显示整数部分(即使是0也会显示)。
    • ##:可选的小数部分,最多显示两位,没有非零小数时自动省略,同时去除尾随零。
    • %:自动将数值乘以100并添加百分号,无需手动计算*100。

运行以上任意方案,你都会得到如下格式的输出(没有尾随零,最多两位小数):

pct used
--------
114.87%
50%
81%
90.99%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:39:31