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.Round-Methode: (Decimal, MidpointRounding)

 

Veröffentlicht: Oktober 2016

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

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

public static decimal Round(
	decimal d,
	MidpointRounding mode
)

Parameter

d
Type: System.Decimal

Eine zu rundende Dezimalzahl.

mode
Type: System.MidpointRounding

Ein Wert, der angibt, wie d gerundet wird, wenn es genau zwischen zwei Zahlen liegt.

Rückgabewert

Type: System.Decimal

Die Ganzzahl, die dem d-Parameter am nächsten ist. Wenn d genau in der Mitte zwischen zwei Zahlen liegt (von denen eine gerade und die andere ungerade ist), bestimmt der mode-Parameter, welche der beiden Zahlen zurückgegeben wird.

Exception Condition
ArgumentException

mode ist kein System.MidpointRounding-Wert.

OverflowException

Das Ergebnis liegt außerhalb des Bereichs eines Decimal-Objekts.

In der Mitte liegenden Werten ist der Wert nach der am wenigsten signifikante Ziffer in das Ergebnis genau halbem Weg zwischen zwei Zahlen. 7.5 ist z. B. einen Wert für den Mittelpunkt, wird jedoch auf eine ganze Zahl gerundet. Für Werte für Mittelpunkt und der nächste Wert kann nicht leicht identifiziert werden ohne eine Rundung gilt, ist die mode Argument. Die Round Methode unterstützt zwei Rundung Konventionen für die Behandlung Mittelpunkt-Werte.

Aufgerundet.

Mittelpunkt Werte werden auf die nächste Zahl von NULL Weg gerundet. Beispielsweise Rundet 3.5, 4, 4.5 Rundet auf 5,-3.5 in-4, gerundet und-4.5 Rundet-5. Diese Form der Rundung wird dargestellt, durch die MidpointRounding.AwayFromZero Enumerationsmember.

Aufgerundet ist die am häufigsten bekannten Form der Rundung.

Dies gilt auch für Rundung oder unverzerrte Rundung

Mittelpunkt Werte werden auf die nächste gerade Zahl gerundet. Z. B. 3.5 und 4.5 runden, 4 und-3.5 und-4.5 zu-4 gerundet. Diese Form der Rundung wird dargestellt, durch die MidpointRounding.ToEven Enumerationsmember.

Auf den nächsten Wert gerundet wird der Standardform des Rundung in finanzielle und statistische Vorgängen verwendet. Es entspricht dem Standard IEEE 754, Abschnitt 4. Bei Verwendung in mehreren Rundungsoperationen verringert sich die Rundungsfehler, die vom Mittelpunkt der Werte in einer Richtung runden verursacht wird. In einigen Fällen kann diese Rundungsfehler erheblich sein.

Das folgende Beispiel zeigt die Rückgabewerte der Round(Decimal) -Methode, die Round(Decimal, MidpointRounding) Methode mit eine mode Argument des ToEven, und die Round(Decimal, MidpointRounding) Methode mit einer mode Argument des AwayFromZero.

using System;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("{0,-10} {1,-10} {2,-10} {3,-15}", "Value", "Default", 
                        "ToEven", "AwayFromZero");
      for (decimal value = 12.0m; value <= 13.0m; value += 0.1m)
         Console.WriteLine("{0,-10} {1,-10} {2,-10} {3,-15}",
                           value, Math.Round(value), 
                           Math.Round(value, MidpointRounding.ToEven),
                           Math.Round(value, MidpointRounding.AwayFromZero));
   }
}
// The example displays the following output:
//       Value      Default    ToEven     AwayFromZero
//       12         12         12         12
//       12.1       12         12         12
//       12.2       12         12         12
//       12.3       12         12         12
//       12.4       12         12         12
//       12.5       12         12         13
//       12.6       13         13         13
//       12.7       13         13         13
//       12.8       13         13         13
//       12.9       13         13         13
//       13.0       13         13         13

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: