다음을 통해 공유


형식 변환표

확대 변환은 특정 형식의 값을 크기가 같거나 큰 다른 형식의 값으로 변환하는 것입니다. 이와는 반대로 축소 변환은 특정 형식의 값을 크기가 작은 다른 형식의 값으로 변환하는 것입니다. 이 항목의 표에서는 두 변환 형식에서 나타나는 동작에 대해 설명합니다.

확대 변환

다음 표는 정보 손실 없이 변환을 수행할 수 있는 확대 변환을 나타냅니다.

형식

데이터 손실 없이 변환할 수 있는 형식

Byte

UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double, Decimal

SByte

Int16, Int32, Int64, Single, Double, Decimal

Int16

Int32, Int64, Single, Double, Decimal

UInt16

UInt32, Int32, UInt64, Int64, Single, Double, Decimal

Char

UInt16, UInt32, Int32, UInt64, Int64, Single, Double, Decimal

Int32

Int64, Double, Decimal

UInt32

Int64, Double, Decimal

Int64

Decimal

UInt64

Decimal

Single

Double

Single 또는 Double로 확대 변환을 수행하는 일부 경우에 정밀도가 손실될 수 있습니다. 다음 표는 가끔씩 정보가 손실될 수 있는 확대 변환을 나타냅니다.

형식

변환할 수 있는 형식

Int32

Single

UInt32

Single

Int64

Single, Double

UInt64

Single, Double

Decimal

Single, Double

축소 변환

Single 또는 Double로 축소 변환을 수행하는 경우에 정보가 손실될 수 있습니다. 대상 형식에서 소스의 크기를 제대로 표시할 수 없는 경우 결과 형식은 상수인 PositiveInfinity 또는 NegativeInfinity로 설정됩니다. PositiveInfinity는 양수를 0으로 나눈 경우에 생성되며 Single 또는 Double이 MaxValue 필드의 값을 초과하는 경우에도 반환됩니다. NegativeInfinity는 음수를 0으로 나눈 경우에 생성되며 Single 또는 Double이 MinValue 필드의 값보다 작은 경우에도 반환됩니다. Double에서 Single로 변환하면 PositiveInfinity 또는 NegativeInfinity가 생성될 수 있습니다.

축소 변환에서는 또한 다른 데이터 형식의 정보도 손실될 수 있습니다. 그러나 변환되는 형식의 값이 대상 형식의 MaxValue 및 MinValue 필드에 지정된 범위 밖에 있고 런타임에서 대상 형식의 값이 MaxValue 또는 MinValue 필드의 값을 초과하지 않는지 확인하기 위해 이 변환을 검사하는 경우에는 OverflowException이 throw됩니다. System.Convert 클래스에 의해 수행되는 변환은 항상 이런 식으로 검사됩니다.

다음 표에는 변환되는 형식 값이 결과 형식의 정의된 범위 밖에 있는 경우, System.Convert 또는 검사된 변환을 사용하여 OverflowException을 throw하는 변환의 목록이 나와 있습니다.

형식

변환할 수 있는 형식

Byte

SByte

SByte

Byte, UInt16, UInt32, UInt64

Int16

Byte, SByte, UInt16

UInt16

Byte, SByte, Int16

Int32

Byte, SByte, Int16, UInt16,UInt32

UInt32

Byte, SByte, Int16, UInt16, Int32

Int64

Byte, SByte, Int16, UInt16, Int32,UInt32,UInt64

UInt64

Byte, SByte, Int16, UInt16, Int32, UInt32, Int64

Decimal

Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64

Single

Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64

Double

Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64

참고 항목

참조

System.Convert

개념

.NET Framework의 형식 변환