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

Decimal Explicit Conversione (Decimal to Double)

 

Data di pubblicazione: ottobre 2016

equivalentCodeEntityM:System.Decimal.ToDouble(System.Decimal)

Definisce una conversione esplicita di un oggetto Decimal in un numero a virgola mobile a precisione doppia in un numero a virgola mobile.

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

public static explicit operator double (
	decimal value
)

Parametri

value
Type: System.Decimal

Valore da convertire.

Valore restituito

Type: System.Double

Numero a virgola mobile a precisione doppia che rappresenta l'oggetto Decimal convertito.

This operation can result in a loss of precision, because a double-precision floating-point number has fewer significant digits than a T:System.Decimal.

This operator supports the explicit conversion of a T:System.Decimal to a T:System.Double. The syntax for such explicit conversions is language-dependent, and individual language compilers can provide different implementations and return different results. The example illustrates the different return values when you explicitly convert a T:System.Decimal value to a T:System.Double value by using C#, C++, and Visual Basic. To perform a conversion that is independent of language, you can call the M:System.Decimal.ToDouble(System.Decimal) or the M:System.Convert.ToDouble(System.Decimal) method.

The following example converts T:System.Decimal numbers to T:System.Double values by using the explicit T:System.Decimal to T:System.Double conversion.

using System;

class Example
{
    public static void Main( )
    {
        // Define an array of decimal values.
        decimal[] values = { 0.0000000000000000000000000001M, 
                             0.0000000000123456789123456789M,
                             123M, new decimal(123000000, 0, 0, false, 6),
                             123456789.123456789M, 
                             123456789123456789123456789M, 
                             decimal.MinValue, decimal.MaxValue };
        // Convert each value to a double.
        foreach (var value in values) {
            double dblValue = (double) value;
            Console.WriteLine("{0} ({1}) --> {2} ({3})", value,
                              value.GetType().Name, dblValue, 
                              dblValue.GetType().Name);
       } 
    }
}
// The example displays the following output:
//    0.0000000000000000000000000001 (Decimal) --> 1E-28 (Double)
//    0.0000000000123456789123456789 (Decimal) --> 1.23456789123457E-11 (Double)
//    123 (Decimal) --> 123 (Double)
//    123.000000 (Decimal) --> 123 (Double)
//    123456789.123456789 (Decimal) --> 123456789.123457 (Double)
//    123456789123456789123456789 (Decimal) --> 1.23456789123457E+26 (Double)
//    -79228162514264337593543950335 (Decimal) --> -7.92281625142643E+28 (Double)
//    79228162514264337593543950335 (Decimal) --> 7.92281625142643E+28 (Double)

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