PowerShell で、変数に数値が含まれているかどうかをテストするにはどうすればよいですか?
現在、このようにやろうとしているのですが、いつも が返されてしまうようですfalse
。
add-type -Language CSharpVersion3 @'
public class Helpers {
public static bool IsNumeric(object o) {
return o is byte || o is short || o is int || o is long
|| o is sbyte || o is ushort || o is uint || o is ulong
|| o is float || o is double || o is decimal
;
}
}
'@
filter isNumeric($InputObject) {
[Helpers]::IsNumeric($InputObject)
}
PS> 1 | isNumeric
False
ベストアンサー1
変数が数値であるかどうかは次のように確認できます。$val -is [int]
これは数値の場合は機能しますが、数値が引用符で囲まれている場合は機能しません。
1 -is [int]
True
"1" -is [int]
False