1. 사용 Char.GetNumericValue() 방법
권장되는 접근 방식은 내장된 GetNumericValue() 숫자 유니코드 문자를 해당 숫자로 변환하는 방법입니다.
다음 예제에서는 다음 작업을 보여 줍니다 GetNumericValue() 방법. 숫자 값의 char 표현을 예상하고 이중 값을 반환합니다. double 값을 int로 변환하려면 캐스트가 필요합니다.
using System;
public class Example
{
public static void Main()
{
char ch = '9';
int intVal = (int)Char.GetNumericValue(ch);
Console.WriteLine(intVal);
}
}
2. '0'과의 차이
우리는 각 ASCII 문자가 0에서 127 사이의 값으로 표현된다는 것을 알고 있습니다. 문자 '0'에서 '9'에 해당하는 정수를 얻으려면 간단히 '0'을 빼십시오. 다음 코드 예제에서는 이를 구현하는 방법을 보여줍니다.
using System;
public class Example
{
public static void Main()
{
char ch = '9';
int intVal = ch - '0';
Console.WriteLine(intVal);
}
}
3. 사용 CharUnicodeInfo.GetDecimalDigitValue() 방법
또 다른 접근 방식은 다음을 사용하는 것입니다. CharUnicodeInfo.GetDecimalDigitValue 지정된 숫자 유니코드 문자의 10진수 값을 반환하는 메서드입니다. 이 방법은 아래에 설명되어 있습니다.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
char ch = '9';
int intVal = CharUnicodeInfo.GetDecimalDigitValue(ch);
Console.WriteLine(intVal);
}
}
4. 사용 Int32.Parse() 방법
다음 코드 예제에서는 사용 방법을 보여줍니다. Int32.Parse() 그리고 Int32.TryParse() char를 해당하는 정수로 변환합니다.
using System;
public class Example
{
public static void Main()
{
char ch = '9';
int intVal = int.Parse(ch.ToString());
Console.WriteLine(intVal);
}
}
c#에서 char을(를) int로 변환하는 부분에 대해서 잘 정리한 글이있어서 아래 블로그의 내용을 카피하여 재 배포 합니다.
아래 원본 링크
https://www.techiedelight.com/ko/convert-char-to-int-csharp/