Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Decimal-Struktur

 

Veröffentlicht: Oktober 2016

Stellt eine Dezimalzahl dar.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Structure Decimal
	Implements IFormattable, IComparable, IConvertible, IDeserializationCallback,
	IComparable(Of Decimal), IEquatable(Of Decimal)

NameBeschreibung
System_CAPS_pubmethodDecimal(Double)

Initialisiert eine neue Instanz von Decimal mit dem Wert der angegebenen Gleitkommazahl mit doppelter Genauigkeit.

System_CAPS_pubmethodDecimal(Int32)

Initialisiert eine neue Instanz von Decimal mit dem Wert einer angegebenen 32-Bit-Ganzzahl mit Vorzeichen.

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

Initialisiert einen neue Instanz von Decimal mit Parametern, die die Bestandteile der Instanz angeben.

System_CAPS_pubmethodDecimal(Int32())

Initialisiert eine neue Instanz von Decimal mit einem binär dargestellten Decimal-Wert in einem angegebenen Array.

System_CAPS_pubmethodDecimal(Int64)

Initialisiert eine neue Instanz von Decimal mit dem Wert einer angegebenen 64-Bit-Ganzzahl mit Vorzeichen.

System_CAPS_pubmethodDecimal(Single)

Initialisiert eine neue Instanz von Decimal mit dem Wert der angegebenen Gleitkommazahl mit einfacher Genauigkeit.

System_CAPS_pubmethodDecimal(UInt32)

Initialisiert eine neue Instanz von Decimal mit dem Wert einer angegebenen 32-Bit-Ganzzahl ohne Vorzeichen.

System_CAPS_pubmethodDecimal(UInt64)

Initialisiert eine neue Instanz von Decimal mit dem Wert einer angegebenen 64-Bit-Ganzzahl ohne Vorzeichen.

NameBeschreibung
System_CAPS_pubmethodSystem_CAPS_staticAdd(Decimal, Decimal)

Addiert zwei angegebene Decimal-Werte.

System_CAPS_pubmethodSystem_CAPS_staticCeiling(Decimal)

Gibt den kleinsten ganzzahligen Wert zurück, der größer oder gleich der angegebenen Dezimalzahl ist.

System_CAPS_pubmethodSystem_CAPS_staticCompare(Decimal, Decimal)

Vergleicht zwei angegebene Decimal-Werte.

System_CAPS_pubmethodCompareTo(Decimal)

Vergleicht diese Instanz mit einem angegebenen Decimal-Objekt und gibt einen Vergleich der entsprechenden Werte zurück.

System_CAPS_pubmethodCompareTo(Object)

Vergleicht diese Instanz mit einem angegebenen Objekt und gibt einen Vergleich der entsprechenden Werte zurück.

System_CAPS_pubmethodSystem_CAPS_staticDivide(Decimal, Decimal)

Dividiert zwei angegebene Decimal-Werte.

System_CAPS_pubmethodEquals(Decimal)

Gibt einen Wert zurück, der angibt, ob diese Instanz und ein angegebenes Decimal-Objekt den gleichen Wert darstellen.

System_CAPS_pubmethodSystem_CAPS_staticEquals(Decimal, Decimal)

Gibt einen Wert zurück, der angibt, ob zwei angegebene Instanzen von Decimal denselben Wert darstellen.

System_CAPS_pubmethodEquals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz und ein angegebenes Object denselben Typ und Wert darstellen.(Überschreibt ValueType.Equals(Object).)

System_CAPS_pubmethodSystem_CAPS_staticFloor(Decimal)

Rundet eine angegebene Decimal-Zahl auf die nächste Ganzzahl in Richtung minus unendlich.

System_CAPS_pubmethodSystem_CAPS_staticFromOACurrency(Int64)

Konvertiert die angegebene 64-Bit-Ganzzahl mit Vorzeichen, die einen Currency-Wert für OLE-Automatisierung enthält, in den entsprechenden Decimal-Wert.

System_CAPS_pubmethodSystem_CAPS_staticGetBits(Decimal)

Konvertiert den Wert einer angegebenen Instanz von Decimal in die entsprechende binäre Darstellung.

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Überschreibt ValueType.GetHashCode().)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodGetTypeCode()

Gibt den TypeCode für den Werttyp Decimal zurück.

System_CAPS_pubmethodSystem_CAPS_staticMultiply(Decimal, Decimal)

Multipliziert zwei angegebene Decimal-Werte.

System_CAPS_pubmethodSystem_CAPS_staticNegate(Decimal)

Gibt das Ergebnis der Multiplikation des angegebenen Decimal-Werts mit -1 zurück.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Wandelt die angegebene Zeichenfolgendarstellung einer Zahl in ihre Decimal-Entsprechung um.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung einer Zahl unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die Decimal-Entsprechung.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die Decimal-Entsprechung.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung einer Zahl unter Verwendung des angegebenen Stils und kulturspezifischer Formatierungsinformationen in die Decimal-Entsprechung.

System_CAPS_pubmethodSystem_CAPS_staticRemainder(Decimal, Decimal)

Berechnet den Rest der Division zweier Decimal-Werte.

System_CAPS_pubmethodSystem_CAPS_staticRound(Decimal)

Rundet einen Dezimalwert auf die nächste Ganzzahl.

System_CAPS_pubmethodSystem_CAPS_staticRound(Decimal, Int32)

Rundet einen Decimal-Wert auf die angegebene Anzahl von Dezimalstellen.

System_CAPS_pubmethodSystem_CAPS_staticRound(Decimal, Int32, MidpointRounding)

Rundet einen Dezimalwert auf eine angegebene Genauigkeit. Ein Parameter gibt an, wie der Wert gerundet wird, wenn er genau zwischen zwei Zahlen liegt.

System_CAPS_pubmethodSystem_CAPS_staticRound(Decimal, MidpointRounding)

Rundet einen Dezimalwert auf die nächste Ganzzahl. Ein Parameter gibt an, wie der Wert gerundet wird, wenn er genau zwischen zwei Zahlen liegt.

System_CAPS_pubmethodSystem_CAPS_staticSubtract(Decimal, Decimal)

Subtrahiert einen angegebenen Decimal-Wert von einem anderen.

System_CAPS_pubmethodSystem_CAPS_staticToByte(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.

System_CAPS_pubmethodSystem_CAPS_staticToDouble(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende Gleitkommazahl mit doppelter Genauigkeit.

System_CAPS_pubmethodSystem_CAPS_staticToInt16(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 16-Bit-Ganzzahl mit Vorzeichen.

System_CAPS_pubmethodSystem_CAPS_staticToInt32(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.

System_CAPS_pubmethodSystem_CAPS_staticToInt64(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 64-Bit-Ganzzahl mit Vorzeichen.

System_CAPS_pubmethodSystem_CAPS_staticToOACurrency(Decimal)

Konvertiert den angegebenen Decimal-Wert in den entsprechenden Currency-Wert für OLE-Automatisierung, der in einer 64-Bit-Ganzzahl mit Vorzeichen enthalten ist.

System_CAPS_pubmethodSystem_CAPS_staticToSByte(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 8-Bit-Ganzzahl mit Vorzeichen.

System_CAPS_pubmethodSystem_CAPS_staticToSingle(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.

System_CAPS_pubmethodToString()

Konvertiert den Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung.(Überschreibt ValueType.ToString().)

System_CAPS_pubmethodToString(IFormatProvider)

Konvertiert den numerischen Wert dieser Instanz unter Berücksichtigung der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

System_CAPS_pubmethodToString(String)

Konvertiert den numerischen Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung unter Berücksichtigung des angegebenen Formats.

System_CAPS_pubmethodToString(String, IFormatProvider)

Konvertiert den numerischen Wert dieser Instanz unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

System_CAPS_pubmethodSystem_CAPS_staticToUInt16(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 16-Bit-Ganzzahl ohne Vorzeichen.

System_CAPS_pubmethodSystem_CAPS_staticToUInt32(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 32-Bit-Ganzzahl ohne Vorzeichen.

System_CAPS_pubmethodSystem_CAPS_staticToUInt64(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 64-Bit-Ganzzahl ohne Vorzeichen.

System_CAPS_pubmethodSystem_CAPS_staticTruncate(Decimal)

Gibt den ganzzahligen Teil des angegebenen Decimal zurück; Bruchziffern werden verworfen.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Decimal)

Wandelt die angegebene Zeichenfolgendarstellung einer Zahl in ihre Decimal-Entsprechung um. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, NumberStyles, IFormatProvider, Decimal)

Konvertiert die Zeichenfolgendarstellung einer Zahl unter Verwendung des angegebenen Stils und kulturspezifischer Formatierungsinformationen in die Decimal-Entsprechung. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

NameBeschreibung
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Stellt den größtmöglichen Wert von Decimal dar. Dieses Feld ist konstant und schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticMinusOne

Stellt die Zahl -1 dar.

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Stellt den kleinstmöglichen Wert von Decimal dar. Dieses Feld ist konstant und schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticOne

Stellt die Zahl 1 dar.

System_CAPS_pubfieldSystem_CAPS_staticZero

Stellt die Zahl 0 (null) dar.

NameBeschreibung
System_CAPS_puboperatorSystem_CAPS_staticAddition(Decimal, Decimal)

Addiert zwei angegebene Decimal-Werte.

System_CAPS_puboperatorSystem_CAPS_staticDecrement(Decimal)

Verringert den Decimal-Operanden um 1.

System_CAPS_puboperatorSystem_CAPS_staticDivision(Decimal, Decimal)

Dividiert zwei angegebene Decimal-Werte.

System_CAPS_puboperatorSystem_CAPS_staticEquality(Decimal, Decimal)

Gibt einen Wert zurück, der angibt, ob zwei Decimal Werte gleich sind.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to Byte)

Definiert eine explizite Konvertierung einer Decimal in eine 8-Bit Ganzzahl ohne Vorzeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to Char)

Definiert eine explizite Konvertierung einer Decimal in ein Unicodezeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to Double)

Definiert eine explizite Konvertierung einer Decimal in eine Gleitkommazahl mit doppelter Genauigkeit.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to Int16)

Definiert eine explizite Konvertierung einer Decimal in eine 16-Bit Ganzzahl mit Vorzeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to Int32)

Definiert eine explizite Konvertierung einer Decimal in eine 32-Bit Ganzzahl mit Vorzeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to Int64)

Definiert eine explizite Konvertierung einer Decimal in eine 64-Bit Ganzzahl mit Vorzeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to SByte)

Definiert eine explizite Konvertierung einer Decimal in eine 8-Bit Ganzzahl mit Vorzeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to Single)

Definiert eine explizite Konvertierung einer Decimal in eine Gleitkommazahl mit einfacher Genauigkeit.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to UInt16)

Definiert eine explizite Konvertierung einer Decimal in eine 16-Bit Ganzzahl ohne Vorzeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to UInt32)

Definiert eine explizite Konvertierung einer Decimal in eine 32-Bit Ganzzahl ohne Vorzeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Decimal to UInt64)

Definiert eine explizite Konvertierung einer Decimal in eine 64-Bit Ganzzahl ohne Vorzeichen.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Double to Decimal)

Definiert eine explizite Konvertierung einer Gleitkommazahl mit doppelter Genauigkeit in eine Decimal.

System_CAPS_puboperatorSystem_CAPS_staticNarrowing(Single to Decimal)

Definiert eine explizite Konvertierung einer Gleitkommazahl mit einfacher Genauigkeit in eine Decimal.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThan(Decimal, Decimal)

Gibt einen Wert zurück, der angibt, ob ein angegebenes Decimal größer als eine anderes angegebenes Decimal ist.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThanOrEqual(Decimal, Decimal)

Gibt einen Wert zurück, der angibt, ob ein angegebenes Decimal größer oder gleich einem anderen angegebenen Decimal ist.

System_CAPS_puboperatorSystem_CAPS_staticWidening(Byte to Decimal)

Definiert eine implizite Konvertierung einer 8-Bit-Ganzzahl ohne Vorzeichen in einen Decimal-Wert.

System_CAPS_puboperatorSystem_CAPS_staticWidening(Char to Decimal)

Definiert eine implizite Konvertierung eines Unicodezeichens in eine Decimal.

System_CAPS_puboperatorSystem_CAPS_staticWidening(Int16 to Decimal)

Definiert eine implizite Konvertierung einer 16-Bit-Ganzzahl mit Vorzeichen in einen Decimal-Wert.

System_CAPS_puboperatorSystem_CAPS_staticWidening(Int32 to Decimal)

Definiert eine implizite Konvertierung einer 32-Bit-Ganzzahl mit Vorzeichen in einen Decimal-Wert.

System_CAPS_puboperatorSystem_CAPS_staticWidening(Int64 to Decimal)

Definiert eine implizite Konvertierung einer 64-Bit-Ganzzahl mit Vorzeichen in einen Decimal-Wert.

System_CAPS_puboperatorSystem_CAPS_staticWidening(SByte to Decimal)

Definiert eine implizite Konvertierung einer 8-Bit-Ganzzahl mit Vorzeichen in einen Decimal-Wert.

System_CAPS_puboperatorSystem_CAPS_staticWidening(UInt16 to Decimal)

Definiert eine implizite Konvertierung einer 16-Bit-Ganzzahl ohne Vorzeichen in einen Decimal-Wert.

System_CAPS_puboperatorSystem_CAPS_staticWidening(UInt32 to Decimal)

Definiert eine implizite Konvertierung einer 32-Bit-Ganzzahl ohne Vorzeichen in einen Decimal-Wert.

System_CAPS_puboperatorSystem_CAPS_staticWidening(UInt64 to Decimal)

Definiert eine implizite Konvertierung einer 64-Bit-Ganzzahl ohne Vorzeichen in einen Decimal-Wert.

System_CAPS_puboperatorSystem_CAPS_staticIncrement(Decimal)

Erhöht den Decimal-Operanden um 1.

System_CAPS_puboperatorSystem_CAPS_staticInequality(Decimal, Decimal)

Gibt einen Wert zurück, der angibt, ob zwei Decimal-Objekte über unterschiedliche Werte verfügen.

System_CAPS_puboperatorSystem_CAPS_staticLessThan(Decimal, Decimal)

Gibt einen Wert zurück, der angibt, ob ein angegebenes Decimal kleiner als ein anderes angegebenes Decimal ist.

System_CAPS_puboperatorSystem_CAPS_staticLessThanOrEqual(Decimal, Decimal)

Gibt einen Wert zurück, der angibt, ob ein angegebenes Decimal kleiner oder gleich einem anderen angegebenen Decimal ist.

System_CAPS_puboperatorSystem_CAPS_staticModulus(Decimal, Decimal)

Gibt den Rest aus der Division zweier angegebener Decimal-Werte zurück.

System_CAPS_puboperatorSystem_CAPS_staticMultiply(Decimal, Decimal)

Multipliziert zwei angegebene Decimal-Werte.

System_CAPS_puboperatorSystem_CAPS_staticSubtraction(Decimal, Decimal)

Subtrahiert zwei angegebene Decimal-Werte.

System_CAPS_puboperatorSystem_CAPS_staticUnaryNegation(Decimal)

Negiert den Wert des angegebenen Decimal-Operanden.

System_CAPS_puboperatorSystem_CAPS_staticUnaryPlus(Decimal)

Gibt den Wert des Decimal-Operanden zurück (das Vorzeichen des Operanden bleibt unverändert).

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToBoolean.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToDecimal.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToDouble.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToInt64.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToSByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToSingle.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToType.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToUInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToInt64.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDeserializationCallback.OnDeserialization(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Wird ausgeführt, wenn die Deserialisierung eines Objekts abgeschlossen ist.

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.

Dim dividend As Decimal = Decimal.One
Dim divisor As Decimal = 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.

Dim dividend As Decimal = Decimal.One
Dim divisor As Decimal = 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.

' Keeping my fortune in Decimals to avoid the round-off errors.
Class PiggyBank
    Protected MyFortune As Decimal

    Public Sub AddPenny()
        MyFortune = [Decimal].Add(MyFortune, 0.01D)
    End Sub

    Public ReadOnly Property Capacity() As Decimal
        Get
            Return [Decimal].MaxValue
        End Get
    End Property

    Public ReadOnly Property Dollars() As Decimal
        Get
            Return [Decimal].Floor(MyFortune)
        End Get
    End Property

    Public ReadOnly Property Cents() As Decimal
        Get
            Return [Decimal].Subtract(MyFortune, [Decimal].Floor(MyFortune))
        End Get
    End Property

    Public Overrides Function ToString() As String
        Return MyFortune.ToString("C") + " in piggy bank"
    End Function
End Class

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 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_cautionAchtung

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.

Zurück zum Anfang
Anzeigen: