이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Decimal 구조체

 

게시 날짜: 2016년 11월

10진수를 나타냅니다.

네임스페이스:   System
어셈블리:  mscorlib(mscorlib.dll에 있음)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Decimal : IFormattable, IComparable, IConvertible, 
	IDeserializationCallback, IComparable<decimal>, IEquatable<decimal>

이름설명
System_CAPS_pubmethodDecimal(Double)

Decimal의 새 인스턴스를 지정된 배정밀도 부동 소수점 숫자의 값으로 초기화합니다.

System_CAPS_pubmethodDecimal(Int32)

Decimal의 새 인스턴스를 지정된 32비트 부호 있는 정수 값으로 초기화합니다.

System_CAPS_pubmethodDecimal(Int32, Int32, Int32, Boolean, Byte)

인스턴스의 구성 부분을 지정하는 매개 변수에서 Decimal의 새 인스턴스를 초기화합니다.

System_CAPS_pubmethodDecimal(Int32[])

Decimal의 새 인스턴스를 이진으로 표현되며 지정한 배열에 포함된 10진 값으로 초기화합니다.

System_CAPS_pubmethodDecimal(Int64)

Decimal의 새 인스턴스를 지정된 64비트 부호 있는 정수 값으로 초기화합니다.

System_CAPS_pubmethodDecimal(Single)

Decimal의 새 인스턴스를 지정된 단정밀도 부동 소수점 숫자의 값으로 초기화합니다.

System_CAPS_pubmethodDecimal(UInt32)

Decimal의 새 인스턴스를 지정된 32비트 부호 없는 정수 값으로 초기화합니다.

System_CAPS_pubmethodDecimal(UInt64)

Decimal의 새 인스턴스를 지정된 64비트 부호 없는 정수 값으로 초기화합니다.

이름설명
System_CAPS_pubmethodSystem_CAPS_staticAdd(Decimal, Decimal)

지정된 두 Decimal 값을 더합니다.

System_CAPS_pubmethodSystem_CAPS_staticCeiling(Decimal)

지정된 10진수보다 크거나 같은 최소 정수 값을 반환합니다.

System_CAPS_pubmethodSystem_CAPS_staticCompare(Decimal, Decimal)

지정된 두 Decimal 값을 비교합니다.

System_CAPS_pubmethodCompareTo(Decimal)

이 인스턴스를 지정된 Decimal 개체와 비교하여 상대 값의 비교를 반환합니다.

System_CAPS_pubmethodCompareTo(Object)

이 인스턴스를 지정된 개체와 비교하여 상대 값의 비교를 반환합니다.

System_CAPS_pubmethodSystem_CAPS_staticDivide(Decimal, Decimal)

지정된 두 Decimal 값을 나눕니다.

System_CAPS_pubmethodEquals(Decimal)

이 인스턴스의 값과 지정된 Decimal 개체의 값이 같은지를 나타내는 값을 반환합니다.

System_CAPS_pubmethodSystem_CAPS_staticEquals(Decimal, Decimal)

지정된 두 개의 Decimal 인스턴스가 같은 값을 표시하는지 여부를 나타내는 값을 반환합니다.

System_CAPS_pubmethodEquals(Object)

이 인스턴스와 지정된 Object가 같은 형식과 값을 표시하는지 여부를 나타내는 값을 반환합니다.(ValueType.Equals(Object)을(를) 재정의함)

System_CAPS_pubmethodSystem_CAPS_staticFloor(Decimal)

지정된 Decimal 수를 음의 무한대에 가장 가까운 정수로 반올림합니다.

System_CAPS_pubmethodSystem_CAPS_staticFromOACurrency(Int64)

OLE Automation Currency 값을 포함하는 지정된 64비트 부호 있는 정수를 해당하는 Decimal 값으로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticGetBits(Decimal)

Decimal의 지정된 인스턴스 값을 해당하는 이진 표현으로 변환합니다.

System_CAPS_pubmethodGetHashCode()

이 인스턴스의 해시 코드를 반환합니다.(ValueType.GetHashCode()을(를) 재정의함)

System_CAPS_pubmethodGetType()

현재 인스턴스의 Type을 가져옵니다.(Object에서 상속됨)

System_CAPS_pubmethodGetTypeCode()

TypeCode 값 형식에 대한 Decimal를 반환합니다.

System_CAPS_pubmethodSystem_CAPS_staticMultiply(Decimal, Decimal)

지정된 두 Decimal 값을 곱합니다.

System_CAPS_pubmethodSystem_CAPS_staticNegate(Decimal)

지정된 Decimal 값과 음수 1을 곱한 결과를 반환합니다.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

숫자의 문자열 표현을 해당하는 Decimal로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 숫자의 문자열 표현을 해당 Decimal로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles)

숫자를 지정된 스타일로 나타낸 문자열 표현을 해당 Decimal로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles, IFormatProvider)

지정된 스타일 및 문화권별 형식을 사용하여 숫자의 문자열 표현을 해당하는 Decimal로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticRemainder(Decimal, Decimal)

Decimal 값을 나눈 나머지를 계산합니다.

System_CAPS_pubmethodSystem_CAPS_staticRound(Decimal)

10진 값을 가장 가까운 정수로 반올림합니다.

System_CAPS_pubmethodSystem_CAPS_staticRound(Decimal, Int32)

Decimal 값을 지정된 소수 자릿수로 반올림합니다.

System_CAPS_pubmethodSystem_CAPS_staticRound(Decimal, Int32, MidpointRounding)

10진 값을 지정된 전체 자릿수로 반올림합니다. 서로 다른 두 숫자의 중간에 있는 값을 반올림하는 방법을 지정하는 매개 변수입니다.

System_CAPS_pubmethodSystem_CAPS_staticRound(Decimal, MidpointRounding)

10진 값을 가장 가까운 정수로 반올림합니다. 서로 다른 두 숫자의 중간에 있는 값을 반올림하는 방법을 지정하는 매개 변수입니다.

System_CAPS_pubmethodSystem_CAPS_staticSubtract(Decimal, Decimal)

다른 값에서 지정된 Decimal 값을 뺍니다.

System_CAPS_pubmethodSystem_CAPS_staticToByte(Decimal)

지정된 Decimal의 값을 해당하는 8비트 부호 없는 정수로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToDouble(Decimal)

지정된 Decimal의 값을 해당하는 배정밀도 부동 소수점 숫자로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToInt16(Decimal)

지정된 Decimal의 값을 해당하는 16비트 부호 있는 정수로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToInt32(Decimal)

지정된 Decimal의 값을 해당하는 32비트 부호 있는 정수로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToInt64(Decimal)

지정된 Decimal의 값을 해당하는 64비트 부호 있는 정수로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToOACurrency(Decimal)

지정된 Decimal 값을 64비트 부호 있는 정수에 포함된 해당 OLE Automation Currency 값으로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToSByte(Decimal)

지정된 Decimal의 값을 해당하는 8비트 부호 있는 정수로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToSingle(Decimal)

지정된 Decimal의 값을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.

System_CAPS_pubmethodToString()

이 인스턴스의 숫자 값을 해당하는 문자열 표현으로 변환합니다.(ValueType.ToString()을(를) 재정의함)

System_CAPS_pubmethodToString(IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 이 인스턴스의 숫자 값을 해당 문자열 표현으로 변환합니다.

System_CAPS_pubmethodToString(String)

지정된 형식을 사용하여 이 인스턴스의 숫자 값을 해당 문자열 표현으로 변환합니다.

System_CAPS_pubmethodToString(String, IFormatProvider)

지정된 형식 및 문화권별 형식 정보를 사용하여 이 인스턴스의 숫자 값을 해당 문자열 표현으로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToUInt16(Decimal)

지정된 Decimal의 값을 해당하는 16비트 부호 없는 정수로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToUInt32(Decimal)

지정된 Decimal의 값을 해당하는 32비트 부호 없는 정수로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToUInt64(Decimal)

지정된 Decimal의 값을 해당하는 64비트 부호 없는 정수로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticTruncate(Decimal)

소수 자리를 삭제하고 지정된 Decimal의 정수 자리만 반환합니다.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Decimal)

숫자의 문자열 표현을 해당하는 Decimal로 변환합니다. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, NumberStyles, IFormatProvider, Decimal)

지정된 스타일 및 문화권별 형식을 사용하여 숫자의 문자열 표현을 해당하는 Decimal로 변환합니다. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.

이름설명
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Decimal의 최대값을 나타냅니다. 이 필드는 상수이며 읽기 전용입니다.

System_CAPS_pubfieldSystem_CAPS_staticMinusOne

음수 1(-1)을 나타냅니다.

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Decimal의 최소값을 나타냅니다. 이 필드는 상수이며 읽기 전용입니다.

System_CAPS_pubfieldSystem_CAPS_staticOne

숫자 1을 나타냅니다.

System_CAPS_pubfieldSystem_CAPS_staticZero

숫자 0을 나타냅니다.

이름설명
System_CAPS_puboperatorSystem_CAPS_staticAddition(Decimal, Decimal)

지정된 두 Decimal 값을 더합니다.

System_CAPS_puboperatorSystem_CAPS_staticDecrement(Decimal)

Decimal 피연산자를 1씩 감소시킵니다.

System_CAPS_puboperatorSystem_CAPS_staticDivision(Decimal, Decimal)

지정된 두 Decimal 값을 나눕니다.

System_CAPS_puboperatorSystem_CAPS_staticEquality(Decimal, Decimal)

Decimal 값이 같은지 여부를 나타내는 값을 반환합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to Byte)

Decimal을 8비트 부호 없는 정수로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to Char)

Decimal을 유니코드 문자로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to Double)

Decimal을 배정밀도 부동 소수점 숫자로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to Int16)

Decimal을 16비트 부호 있는 정수로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to Int32)

Decimal을 32비트 부호 있는 정수로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to Int64)

Decimal을 64비트 부호 있는 정수로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to SByte)

Decimal을 8비트 부호 있는 정수로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to Single)

Decimal을 단정밀도 부동 소수점 숫자로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to UInt16)

Decimal을 16비트 부호 없는 정수로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to UInt32)

Decimal을 32비트 부호 없는 정수로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Decimal to UInt64)

Decimal을 64비트 부호 없는 정수로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Double to Decimal)

배정밀도 부동 소수점 숫자를 Decimal로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticExplicit(Single to Decimal)

단정밀도 부동 소수점 숫자를 Decimal로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThan(Decimal, Decimal)

지정된 Decimal이 지정된 다른 Decimal보다 큰지 여부를 나타내는 값을 반환합니다.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThanOrEqual(Decimal, Decimal)

지정된 Decimal이 지정된 다른 Decimal보다 크거나 같은지 여부를 나타내는 값을 반환합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(Byte to Decimal)

8비트 부호 없는 정수를 Decimal로 변환하는 명시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(Char to Decimal)

유니코드 문자를 Decimal로 변환하는 암시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(Int16 to Decimal)

16비트 부호 있는 정수를 Decimal로 변환하는 암시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(Int32 to Decimal)

32비트 부호 있는 정수를 Decimal로 변환하는 암시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(Int64 to Decimal)

64비트 부호 있는 정수를 Decimal로 변환하는 암시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(SByte to Decimal)

부호 있는 8비트 정수를 Decimal 값으로 변환하는 암시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(UInt16 to Decimal)

부호 없는 16비트 정수를 Decimal로 변환하는 암시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(UInt32 to Decimal)

부호 없는 32비트 정수를 Decimal로 변환하는 암시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(UInt64 to Decimal)

부호 없는 64비트 정수를 Decimal로 변환하는 암시적 변환을 정의합니다.

System_CAPS_puboperatorSystem_CAPS_staticIncrement(Decimal)

Decimal 피연산자를 1씩 증가시킵니다.

System_CAPS_puboperatorSystem_CAPS_staticInequality(Decimal, Decimal)

Decimal 개체의 값이 다른지 여부를 나타내는 값을 반환합니다.

System_CAPS_puboperatorSystem_CAPS_staticLessThan(Decimal, Decimal)

지정된 Decimal이 지정된 다른 Decimal보다 작은지 여부를 나타내는 값을 반환합니다.

System_CAPS_puboperatorSystem_CAPS_staticLessThanOrEqual(Decimal, Decimal)

지정된 Decimal이 지정된 다른 Decimal보다 작거나 같은지 여부를 나타내는 값을 반환합니다.

System_CAPS_puboperatorSystem_CAPS_staticModulus(Decimal, Decimal)

지정된 두 Decimal 값을 나눈 나머지를 반환합니다.

System_CAPS_puboperatorSystem_CAPS_staticMultiply(Decimal, Decimal)

지정된 두 Decimal 값을 곱합니다.

System_CAPS_puboperatorSystem_CAPS_staticSubtraction(Decimal, Decimal)

지정된 두 Decimal 값을 뺍니다.

System_CAPS_puboperatorSystem_CAPS_staticUnaryNegation(Decimal)

지정된 Decimal 피연산자 값의 부정입니다.

System_CAPS_puboperatorSystem_CAPS_staticUnaryPlus(Decimal)

Decimal 피연산자의 값을 반환합니다(피연산자의 부호는 변경되지 않음).

이름설명
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToBoolean를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToByte를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 변환은 지원되지 않습니다. 이 메서드를 사용하려고 하면 InvalidCastException이 throw됩니다.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 변환은 지원되지 않습니다. 이 메서드를 사용하려고 하면 InvalidCastException이 throw됩니다.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToDecimal를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToDouble를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToInt16를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToInt32를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToInt64를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToSByte를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToSingle를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToType를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToUInt16를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToInt32를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToInt64를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDeserializationCallback.OnDeserialization(Object)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 개체의 deserialization이 완료될 때 실행됩니다.

The T:System.Decimal value type represents decimal numbers ranging from positive 79,228,162,514,264,337,593,543,950,335 to negative 79,228,162,514,264,337,593,543,950,335. The T:System.Decimal value type is appropriate for financial calculations that require large numbers of significant integral and fractional digits and no round-off errors. The T:System.Decimal type does not eliminate the need for rounding. Rather, it minimizes errors due to rounding. For example, the following code produces a result of 0.9999999999999999999999999999 instead of 1.

decimal dividend = Decimal.One;
decimal divisor = 3;
// The following displays 0.9999999999999999999999999999 to the console
Console.WriteLine(dividend/divisor * divisor);   

When the result of the division and multiplication is passed to the M:System.Math.Round(System.Decimal,System.Int32) method, the result suffers no loss of precision, as the following code shows.

decimal dividend = Decimal.One;
decimal divisor = 3;
// The following displays 1.00 to the console
Console.WriteLine(Math.Round(dividend/divisor * divisor, 2));   

A decimal number is a floating-point value that consists of a sign, a numeric value where each digit in the value ranges from 0 to 9, and a scaling factor that indicates the position of a floating decimal point that separates the integral and fractional parts of the numeric value.

The binary representation of a T:System.Decimal value consists of a 1-bit sign, a 96-bit integer number, and a scaling factor used to divide the 96-bit integer and specify what portion of it is a decimal fraction. The scaling factor is implicitly the number 10, raised to an exponent ranging from 0 to 28. Therefore, the binary representation of a T:System.Decimal value the form, ((-296 to 296) / 10(0 to 28)), where -(296-1) is equal to F:System.Decimal.MinValue, and 296-1 is equal to F:System.Decimal.MaxValue. For more information about the binary representation of T:System.Decimal values and an example, see the M:System.Decimal.#ctor(System.Int32[]) constructor and the M:System.Decimal.GetBits(System.Decimal) method.

The scaling factor also preserves any trailing zeros in a T:System.Decimal number. Trailing zeros do not affect the value of a T:System.Decimal number in arithmetic or comparison operations. However, trailing zeros might be revealed by the Overload:System.Decimal.ToString method if an appropriate format string is applied.

This type provides methods that convert T:System.Decimal values to and from T:System.SByte, T:System.Int16, T:System.Int32, T:System.Int64, T:System.Byte, T:System.UInt16, T:System.UInt32, and T:System.UInt64 values. Conversions from these integral types to T:System.Decimal are widening conversions that never lose information or throw exceptions.

Conversions from T:System.Decimal to any of the integral types are narrowing conversions that round the T:System.Decimal value to the nearest integer value toward zero. Some languages, such as C#, also support the conversion of T:System.Decimal values to T:System.Char values. If the result of these conversions cannot be represented in the destination type, an T:System.OverflowException exception is thrown.

The T:System.Decimal type also provides methods that convert T:System.Decimal values to and from T:System.Single and T:System.Double values. Conversions from T:System.Decimal to T:System.Single or T:System.Double are narrowing conversions that might lose precision but not information about the magnitude of the converted value. The conversion does not throw an exception.

Conversions from T:System.Single or T:System.Double to T:System.Decimal throw an T:System.OverflowException exception if the result of the conversion cannot be represented as a T:System.Decimal.

The T:System.Decimal type supports standard mathematical operations such as addition, subtraction, division, multiplication, and unary negation. You can also work directly with the binary representation of a T:System.Decimal value by calling the M:System.Decimal.GetBits(System.Decimal) method.

To compare two T:System.Decimal values, you can use the standard numeric comparison operators, or you can call the M:System.Decimal.CompareTo(System.Decimal) or M:System.Decimal.Equals(System.Decimal) method.

You can also call the members of the T:System.Math class to perform a wide range of numeric operations, including getting the absolute value of a number, determining the maximum or minimum value of two T:System.Decimal values, getting the sign of a number, and rounding a number.

The following code example demonstrates the use of T:System.Decimal.

/// <summary>
/// Keeping my fortune in Decimals to avoid the round-off errors.
/// </summary>
class PiggyBank {
	protected decimal MyFortune;

	public void AddPenny() {
		MyFortune = Decimal.Add(MyFortune, .01m);
	}

	public decimal Capacity {
		get {
			return Decimal.MaxValue;
		}
	}

	public decimal Dollars {
		get {
			return Decimal.Floor(MyFortune);
		}
	}

	public decimal Cents {
		get {
			return Decimal.Subtract(MyFortune, Decimal.Floor(MyFortune));
		}
	}

	public override string ToString() {
		return MyFortune.ToString("C")+" in piggy bank";
	}
}

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
1.1 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능

All members of this type are thread safe. Members that appear to modify instance state actually return a new instance initialized with the new value. As with any other type, reading and writing to a shared variable that contains an instance of this type must be protected by a lock to guarantee thread safety.

System_CAPS_caution주의

Assigning an instance of this type is not thread safe on all hardware platforms because the binary representation of that instance might be too large to assign in a single atomic operation.

맨 위로 이동
표시: