Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Math.Round (Double, MidpointRounding)

 

Data di pubblicazione: ottobre 2016

Arrotonda un valore a virgola mobile e precisione doppia all'intero più vicino. Un parametro specifica come arrotondare il valore se si trova a metà tra due numeri.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public static double Round(
	double value,
	MidpointRounding mode
)

Parametri

value
Type: System.Double

Numero a virgola mobile e precisione doppia da arrotondare.

mode
Type: System.MidpointRounding

Spiegazione della modalità di arrotondamento di value se si trova a metà tra due numeri.

Valore restituito

Type: System.Double

Il value più vicino all'intero. Se value è contenuto tra due interi, di cui per definizione uno è pari e l'altro dispari, mode determina quale dei due numeri deve essere restituito.

Exception Condition
ArgumentException

modenon è un valore valido di System.MidpointRounding.

System_CAPS_noteNota

Per esempi e informazioni complete sull'utilizzo per questo e altri overload di Round metodo, vedere il Round pagina di riferimento.

Note per i chiamanti:

A causa della perdita di precisione che può essere causato da una rappresentazione di valori decimali come numeri a virgola mobile o l'esecuzione di operazioni aritmetiche su valori a virgola mobile, in alcuni casi il Round(Double, MidpointRounding) metodo potrebbe non venire arrotondamento dei valori di punto centrale per l'intero pari più vicino. Nell'esempio seguente, perché il valore a virgola mobile.1 non ha finito rappresentazione binaria, la prima chiamata al Round(Double) metodo con il valore 11,5 restituisce 11 anziché 12.

using System;

public class Example
{
   public static void Main()
   {
      double value = 11.1;
      for (int ctr = 0; ctr <= 5; ctr++)    
         value = RoundValueAndAdd(value);

      Console.WriteLine();

      value = 11.5;
      RoundValueAndAdd(value);
   }

   private static double RoundValueAndAdd(double value)
   {
      Console.WriteLine("{0} --> {1}", value, Math.Round(value, 
                        MidpointRounding.AwayFromZero));
      return value + .1;
   }
}
// The example displays the following output:
//       11.1 --> 11
//       11.2 --> 11
//       11.3 --> 11
//       11.4 --> 11
//       11.5 --> 11
//       11.6 --> 12
//       
//       11.5 --> 12

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: