(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

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

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
Typ: System.Double
Eine zu rundende Gleitkommazahl mit doppelter Genauigkeit.
digits
Typ: System.Int32
Die Anzahl der Bruchziffern im Rückgabewert.
mode
Typ: System.MidpointRounding
Angabe zum Runden von value, wenn er genau in der Mitte zwischen zwei anderen Zahlen liegt.

Rückgabewert

Typ: System.Double
Die Zahl, die value am nächsten liegt und deren Anzahl von Bruchziffern digits entspricht. Wenn value über weniger Dezimalstellen als digits verfügt, wird value unverändert zurückgegeben.

AusnahmeBedingung
ArgumentOutOfRangeException

digits ist kleiner als 0 oder größer als 15.

ArgumentException

mode ist kein gültiger System.MidpointRounding-Wert.

HinweisHinweis

Weitere Beispiele und Verwendungsinformation zu dieser und anderen Überladungen der Methode Round, finden Sie auf der Round-Referenzseite.

Hinweise zu Aufrufern

Wegen des Genauigkeitsverlusts, der sich aus der Darstellung von Dezimalwerten als Gleitkommazahlen oder dem Ausführen arithmetischer Vorgänge für Gleitkommawerte ergeben kann, rundet in einigen Fällen die Round(Double, Int32, MidpointRounding)-Methode möglicherweise nicht in der Mitte liegenden Werte zum nächsten geraden Wert, wie vom mode-Parameter angegeben. Dies wird im folgenden Beispiel veranschaulicht, wo 2,135 auf 2,13 statt 2,14 gerundet wird. Dies tritt auf, da die Methode intern value mit 10Ziffern multipliziert, und der Multiplikationsvorgang leidet in diesem Fall mit einem Genauigkeitsverlust.


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


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft