Powershell 字符串上的百分比比较运算符

Powershell 字符串上的百分比比较运算符,powershell,Powershell,我在学校学习PowerShell,我有一个关于百分比计算的基本问题: $foo = "10%" $bar = "5%" $foo -gt $bar False 我尝试转换为整数类型: [int]$foo -gt [int]$bar Cannot convert value "10%" to type "System.Int32". Error: "Input string was not in a correct format." PowerShell中是否有百分比数据类型?或用于处理百分

我在学校学习PowerShell,我有一个关于百分比计算的基本问题:

$foo = "10%"
$bar = "5%"
$foo -gt $bar
False
我尝试转换为整数类型:

[int]$foo -gt [int]$bar
Cannot convert value "10%" to type "System.Int32". 
Error: "Input string was not in a correct format."

PowerShell中是否有百分比数据类型?或用于处理百分比的比较运算符?

不太可能,但您可以修剪它们以快速提取整数部分:

PS> [int]$foo.trim('%') -gt [int]$bar.trim('%')
True
否和否。PowerShell可以使用.NET格式设置工具(例如
(0.5).ToString(“0%”
)对百分比进行格式设置,但它无法解析百分比(而且.NET格式设置工具也不能)。在.NET级别上有(相当详细的)限制,但对于PowerShell来说,可能最简单的方法是删除百分比并进行解析(即
[double](“10%”-替换“%”),“)
,尽管这可能并不完全适用于所有区域性。