我在使用Powershell评估负数时遇到问题。 在这个例子中-0.36应该小于-0.01。所以$ Bad_Note应该是0而不是1
$Note = "0, -0.36"
$Markup_Discount = ($Note -split ',')[1].trim()
$Markup_Discount
$Bad_Note = 0
if ($Markup_Discount -gt -0.01) {$Bad_Note = 1}
$Bad_Note
答案 0 :(得分:4)
我认为您正在尝试将[string]与[float]进行比较。 只需在字符串前添加[float]以将其转换为float(但请注意,您需要确保它可以正常工作)。
像这样:
$Note = "0, -0.36"
$Markup_Discount = [float]($Note -split ',')[1].trim()
$Markup_Discount
$Bad_Note = 0
if ($Markup_Discount -gt -0.01) {$Bad_Note = 1}
$Bad_Note
或者这个(如你所愿):
$Note = "0, -0.36"
$Markup_Discount = ($Note -split ',')[1].trim()
$Markup_Discount
$Bad_Note = 0
if ([float]$Markup_Discount -gt -0.01) {$Bad_Note = 1}
$Bad_Note
玩得开心:)