다음을 통해 공유


형식 변환표

업데이트: 2007년 11월

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

확대 변환

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

형식

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

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로 변환하면 PositiveInfinityNegativeInfinity가 나타납니다.

축소 변환에서는 또한 다른 데이터 형식의 정보도 손실될 수 있습니다. 그러나 변환되는 형식의 값이 대상 형식의 MaxValueMinValue 필드에서 지정된 범위 밖에 있는 경우, 런타임에서는 대상 형식의 값이 MaxValue 또는 MinValue 필드의 값을 초과하지 않도록 이 변환을 검사한 후 OverflowException을 throw합니다. System.Convert 클래스에 의해 수행되는 변환은 언제나 이런 방식으로 검사를 수행합니다. 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

기타 리소스

형식 변환