2008-11-18 374 views

回答

5

編輯:按Halr9000的建議

$foo = "300-"; 
$bar = 0; 
$numberStyles = [System.Globalization.NumberStyles]; 
$cultureInfo = [System.Globalization.CultureInfo]; 

[int]::TryParse($foo, $numberStyles::AllowTrailingSign, $cultureInfo::CurrentCulture, [ref]$bar); 
0

如果您確定符號可能是 - 或+,String.Replace可以提供幫助。

如果你的意思是323-應該返回-323,檢查符號並乘以-1會有幫助。

2
[System.Globalization.NumberStyles]::AllowTrailingSign 

我還應該指出,當我一般處理枚舉時,有時候我可以通過鍵入一個字符串來獲得。例如。在這種情況下,只要把

"AllowTrailingSign" 

最後說明一點,對於所有可能的值quizzing枚舉時,使用該行:

[System.Globalization.NumberStyles] | gm -static 
1

這裏的獲取枚舉值的更好方法:

$type = [System.Globalization.NumberStyles] 
[enum]::GetValues($type) 
+0

請參閱ms對我來說你的意思是:$ type = [System.Globalization.NumberStyles]; [enum] :: GetValues($ type); – 2008-11-19 23:33:39

相關問題