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

BigInteger Explicit Conversione (Double to BigInteger)

 

Data di pubblicazione: ottobre 2016

equivalentCodeEntityM:System.Numerics.BigInteger.#ctor(System.Double)

Definisce una conversione esplicita di un Double valore a una BigInteger valore.

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

public static explicit operator BigInteger (
	double value
)

Parametri

value
Type: System.Double

Il valore da convertire in un BigInteger.

Valore restituito

Type: System.Numerics.BigInteger

Oggetto che contiene il valore di value parametro.

Exception Condition
OverflowException

value è Double.NaN.

-oppure-

value è Double.PositiveInfinity.

-oppure-

value è Double.NegativeInfinity.

Eventuale parte frazionaria di value parametro viene troncato prima della conversione.

Gli overload di Explicit(Decimal to BigInteger) il metodo per definire i tipi a cui o da cui un BigInteger oggetto può essere convertito. Poiché la conversione da Double a BigInteger può coinvolgere il troncamento di una parte frazionaria di value, i compilatori di linguaggio non eseguono questa conversione automaticamente. Ma eseguono la conversione solo se un operatore di cast (in c#) o una funzione di conversione (ad esempio CType in Visual Basic) viene utilizzato. In caso contrario, visualizzano un errore del compilatore.

Nell'esempio seguente converte i singoli elementi in una matrice di Double valori BigInteger oggetti e quindi Visualizza il risultato di ogni conversione. Si noti che qualsiasi frazionari fa parte di un Double valore viene troncato durante la conversione.

double[] doubles = { Double.MinValue, -1.430955172e03, 2.410970032e05, 
                     Double.MaxValue, Double.PositiveInfinity, 
                     Double.NegativeInfinity, Double.NaN };
BigInteger number;

Console.WriteLine("{0,37} {1,37}\n", "Double", "BigInteger");

foreach (double value in doubles)
{
   try {
      number = (BigInteger) value;
      Console.WriteLine("{0,37} {1,37}", value, number);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0,37} {1,37}", value, "OverflowException");
   }
}
// The example displays the following output:
//                                Double                            BigInteger
// 
//                -1.79769313486232E+308  -1.7976931348623157081452742373E+308
//                          -1430.955172                                 -1430
//                           241097.0032                                241097
//                 1.79769313486232E+308   1.7976931348623157081452742373E+308
//                              Infinity                     OverflowException
//                             -Infinity                     OverflowException
//                                   NaN                     OverflowException      

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