PowerShell에서 문자열을 정수로 변환하는 방법

  1. PowerShell에서 문자열을 정수로 변환하기 위해 [int] 사용하기
  2. PowerShell에서 문자열을 정수로 변환하기 위해 [System.Int32] 사용하기
  3. 문자열을 정수로 변환하기 위해 변수의 데이터 타입 정의하기
  4. 결론
PowerShell에서 문자열을 정수로 변환하는 방법

PowerShell에서 문자열을 정수로 변환하는 방법을 아는 것은 가치 있는 기술입니다. 이 튜토리얼에서는 PowerShell에서 문자열을 정수로 변환하는 방법을 배웁니다.

[int][System.Int32]를 사용하여 이 변환을 수행하는 기술을 살펴보며, 이를 통해 데이터를 쉽게 수정할 수 있습니다.

PowerShell에서 문자열을 정수로 변환하기 위해 [int] 사용하기

PowerShell에서 [int]를 사용하여 문자열을 정수로 변환할 수 있습니다. 이를 타입 캐스팅 또는 타입 변환이라고 합니다.

다음 구문은 문자열을 정수로 변환하고 결과를 변수 $integerVariable에 할당하는 PowerShell의 간단한 할당 문장입니다.

구문:

$integerVariable = [int]$stringVariable

매개변수:

  • $integerVariable: 이 변수는 변환 후 정수 값을 저장합니다.
  • [int]: 이것은 $stringVariable의 값을 정수로 타입 캐스팅하는 데 사용됩니다.
  • $stringVariable: 이것은 변환하려는 문자열이 포함된 다른 변수 또는 표현식입니다.

변수 $a가 다음과 같이 있다고 가정해 봅시다.

$a = 123

$a의 데이터 타입은 integer입니다.

$a.GetType().Name

출력:

Int32

하지만 " "로 값을 감싸면 데이터 타입은 string이 됩니다.

$b = "123"
$b.GetType().Name

출력:

String

문자열 ($b = "123") 데이터 타입을 정수로 변환하기 위해 [int]를 다음과 같이 사용할 수 있습니다.

$b = $b -as [int]
$b.GetType().Name

위 코드에서 변수 $b로 시작합니다. 현재 $b의 값과 데이터 타입은 우리에게 알려져 있지 않지만, 우리는 이를 정수로 취급하기를 원합니다.

다음으로 $b -as [int], 우리는 안전한 타입 캐스팅을 위해 -as 연산자를 사용합니다. 이는 $b의 값을 지정된 타입 [int]로 변환하려고 시도합니다.

변환 가능하면 결과가 $b에 다시 할당됩니다. 그렇지 않으면 $b는 변경되지 않습니다.

다음 줄에서는 $b.GetType().Name을 사용하여 타입 캐스팅 작업 후 변수 $b의 데이터 타입을 확인합니다.

이제 특정 값과 타입을 가진 변수 $b의 경우에 대해 살펴봅시다:

  • 만약 $b가 처음에 정수 (예: $b = 42)를 포함하면, 코드는 그 타입을 변경하지 않고 출력은 Int32가 됩니다.

  • 만약 $b가 처음에 정수로 성공적으로 변환될 수 있는 문자열 (예: $b = "123")을 포함하면, 코드는 그 타입을 정수로 변경하고 출력은 Int32가 됩니다.

  • 만약 $b가 처음에 정수로 변환할 수 없는 문자열 (예: $b = "hello")을 포함하면, 코드는 그 타입을 변경하지 않고 출력은 원래 값의 타입, 즉 문자열이므로 출력은 String이 됩니다.

출력:

Int32

출력 Int32는 변수 $b의 초기 값(이 코드 조각 이전)이 정수였거나 정수로 성공적으로 변환될 수 있는 문자열이라는 것을 의미합니다.

PowerShell에서 문자열을 정수로 변환하기 위해 [System.Int32] 사용하기

[System.Int32]는 PowerShell에서 문자열을 정수로 변환하는 형태의 타입 캐스팅으로, 변수 또는 표현식을 Int32 데이터 타입으로 간주하도록 PowerShell에 명시적으로 지시합니다.

구문에서, 우리는 $stringValue에 있는 문자열을 정수로 변환하고, 결과를 $intValue에 저장합니다. 이는 원하는 데이터 타입을 지정하기 위해 [System.Int32] 구문을 사용하여 $stringValue가 숫자 연산에 준비되도록 합니다.

구문:

$intValue = [System.Int32]$stringValue

코드에서 우리는 $stringValue라는 문자열 변수를 "456"의 값으로 설정하는 것으로 시작합니다. 그런 다음 [System.Int32]를 사용하여 이 문자열을 정수로 변환하고 결과를 다른 변수인 $intValue에 저장합니다.

이 변환 후, 우리는 $intValue의 데이터 타입을 확인하기 위해 $intValue.GetType().Name을 사용합니다.

출력:

Int32

출력은 변수 $intValue가 특정한 32비트 정수 Int32를 포함하고 있음을 알려줍니다.

문자열을 정수로 변환하기 위해 변수의 데이터 타입 정의하기

PowerShell은 변수의 데이터 타입을 자동으로 감지할 수 있습니다.

우리는 데이터 타입에 대해 구체적으로 정할 필요가 없으며 변수를 선언할 필요도 없습니다. 그러나 데이터 타입을 정의하여 데이터 타입을 강제로 설정할 수 있습니다.

예를 들어 봅시다.

[int]$c = "456"
$c.GetType().Name

위 코드에서 우리는 변수를 선언하고 이렇게 초기화합니다: [int]$c = "456". 이 줄은 PowerShell에 문자열 "456"를 정수로 명시적으로 변환하라고 지시하며, 그 결과는 변수 $c에 저장됩니다.

다음으로 변수 $c의 데이터 타입을 알고 싶으므로 $c.GetType().Name을 사용합니다. 이는 타입 캐스팅이 성공했는지 확인하는 방법입니다.

출력:

Int32

위의 출력은 Int32로, 문자열 "456"가 정수로 변환되었음을 나타냅니다. 그러나 문자열 값을 정수 데이터 타입으로 강제 변환하려고 하면 다음 코드 예제에서와 같이 오류가 발생합니다.

[int]$data = "storage"
$c.GetType().Name

위 코드에서 우리는 $data라는 변수를 선언하고 문자열 값 "storage"를 할당합니다. 다음 줄인 [int]$data는 문자열 "storage"를 정수 데이터 타입으로 강제로 변환하려는 시도를 나타냅니다.

이제 우리는 $data 변수의 데이터 타입을 확인하기 위해 $data.GetType().Name을 사용합니다.

출력:

Cannot convert value "storage" to type "System.Int32". Error: "Input string was not in a correct format."
At line:1 char:1
+ [int]$data = "storage"
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : MetadataError: (:) [], ArgumentTransformationMetadataException
    + FullyQualifiedErrorId : RuntimeException

우리는 [int]를 사용하여 이를 정수로 변환하려고 합니다. 그러나 문자열 "storage"는 정수로 변환될 수 없으므로 PowerShell은 변수의 타입을 변경하지 않고 오류 메시지 "Input string was not in a correct format."을 반환합니다.

결론

이 기사에서는 [int][System.Int32]를 사용하여 문자열을 정수로 변환하는 방법을 배웠습니다. 이제 PowerShell에서 텍스트와 숫자 간의 전환을 쉽게 할 수 있습니다.

변수 타입을 제어함으로써 스크립트에서 정확성과 다재다능성을 얻을 수 있습니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

관련 문장 - PowerShell Convert