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

Math.Round-Methode: (Double, Int32, MidpointRounding)

 

Veröffentlicht: Oktober 2016

Rundet einen Gleitkommawert mit doppelter Genauigkeit auf eine angegebene Anzahl von Nachkommastellen. 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 double Round(
	double value,
	int digits,
	MidpointRounding mode
)

Parameter

value
Type: System.Double

Eine zu rundende Gleitkommazahl mit doppelter Genauigkeit.

digits
Type: System.Int32

Die Anzahl von Dezimalstellen im Rückgabewert.

mode
Type: System.MidpointRounding

Angabe, wie value gerundet werden soll, wenn der Wert genau in der Mitte zwischen zwei anderen Zahlen liegt.

Rückgabewert

Type: System.Double

Die Zahl, die value am nächsten liegt und deren Anzahl von Dezimalstellen gleich digits ist. Wenn value weniger Dezimalstellen als digits hat, wird value unverändert zurückgegeben.

Exception Condition
ArgumentOutOfRangeException

digitsist kleiner als 0 oder größer als 15.

ArgumentException

modeist kein gültiger Wert von System.MidpointRounding.

System_CAPS_noteHinweis

Beispiele und umfassende Verwendungsinformationen zu diesen und anderen Überladungen der Round -Methode finden Sie unter der Round Referenzseite.

Hinweise für Aufrufer:

Aufgrund der Verlust an Genauigkeit, die aus, die als Gleitkommazahlen Dezimalwerte darstellt oder arithmetische Vorgänge für Gleitkommawerte, in einigen Fällen kann die Round(Double, Int32, MidpointRounding) Methode scheinbar nicht Mittelpunkt Werte entsprechend den Angaben von gerundet werden die mode Parameter. Dies wird im folgenden Beispiel veranschaulicht, in denen 2.135 2.13 statt 2.14 gerundet wird. Dies geschieht, weil die Methode intern multipliziert value von 10Ziffern, und die Multiplikation wird in diesem Fall aus einem Genauigkeitsverlust angehört.

using System;

public class Example
{
   public static void Main()
   {
      double[] values = { 2.125, 2.135, 2.145, 3.125, 3.135, 3.145 };
      foreach (double value in values)
         Console.WriteLine("{0} --> {1}", value, 
                           Math.Round(value, 2, MidpointRounding.AwayFromZero));

   }
}
// The example displays the following output:
//       2.125 --> 2.13
//       2.135 --> 2.13
//       2.145 --> 2.15
//       3.125 --> 3.13
//       3.135 --> 3.14
//       3.145 --> 3.15

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: