PowerShell에서 '부호'를 숫자로 트레일링하는 문자열을 어떻게 변환 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/300606

문제

PowerShell을 사용하여 옵션의 후행 표지판으로 문자열을 옵션의 후행 표지판으로 변환해야합니다.

가능한 문자열은 다음과 같습니다.

  • 1000-
  • 323+
  • 456

나는 allowtrailingsign의 숫자가있는 System.Int.tryParse를 사용하려고하지만 PowerShell에서 사용할 수있는 System.Globalization.Numberstyles를 만드는 방법을 해결할 수는 없습니다.

도움이 되었습니까?

해결책

편집 : HALR9000의 제안에 따라

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

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

다른 팁

[System.Globalization.NumberStyles]::AllowTrailingSign

또한 열거를 다룰 때 일반적으로 열거를 다룰 때 때로는 문자열을 입력하여 얻을 수 있다고 지적해야합니다. 예를 들어이 경우에만 넣으십시오

"AllowTrailingSign"

최종 참고 사항, 가능한 모든 값에 대한 열거를 퀴즈에 올릴 때 라인을 사용하십시오.

[System.Globalization.NumberStyles] | gm -static

열거적인 값을 얻는 더 좋은 방법은 다음과 같습니다.

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

표지판이 - 또는 +, string.replace가 도움이 될 수 있다고 확신한다면.

323-가 -323을 반환해야한다는 것을 의미한다면, 부호를 확인하고 -1을 곱하면 도움이 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top