Decimal.ToInt64(Decimal) Decimal.ToInt64(Decimal) Decimal.ToInt64(Decimal) Decimal.ToInt64(Decimal) Method

Definizione

Converte il valore dell'oggetto Decimal specificato nell'intero con segno a 64 bit equivalente.Converts the value of the specified Decimal to the equivalent 64-bit signed integer.

public:
 static long ToInt64(System::Decimal d);
public static long ToInt64 (decimal d);
static member ToInt64 : decimal -> int64
Public Shared Function ToInt64 (d As Decimal) As Long

Parametri

d
Decimal Decimal Decimal Decimal

Numero decimale da convertire.The decimal number to convert.

Restituisce

Intero con segno a 64 bit equivalente al valore di d.A 64-bit signed integer equivalent to the value of d.

Eccezioni

d è minore di MinValue o maggiore di MaxValue.d is less than MinValue or greater than MaxValue.

Esempi

Nell'esempio seguente viene usato ToInt64 il metodo per convertire i numeri Int64 decimali in valori.The following example uses the ToInt64 method to convert decimal numbers to Int64 values.

using System;

class Example
{
   public static void Main( )
   {
      decimal[] values = { 123m, new Decimal(123000, 0, 0, false, 3), 
                           123.999m, 18446744073709551615.999m, 
                           18446744073709551616m, 9223372036854775807.999m, 
                           9223372036854775808m, -0.999m, -1m, 
                           -9223372036854775808.999m, 
                           -9223372036854775809m };
                     
      foreach (var value in values) {
         try {             
            long number = Decimal.ToInt64(value);
            Console.WriteLine("{0} --> {1}", value, number);       
         }
         catch (OverflowException e)
         {
             Console.WriteLine("{0}: {1}", e.GetType().Name, value);
         }   
      }
   }
}
// The example displays the following output:
//   123 --> 123
//   123.000 --> 123
//   123.999 --> 123
//   OverflowException: 18446744073709551615.999
//   OverflowException: 18446744073709551616
//   9223372036854775807.999 --> 9223372036854775807
//   OverflowException: 9223372036854775808
//   -0.999 --> 0
//   -1 --> -1
//   -9223372036854775808.999 --> -9223372036854775808
//   OverflowException: -9223372036854775809
Module Example
   Public Sub Main()
      Dim values() As Decimal = { 123d, New Decimal(123000, 0, 0, false, 3), 
                                  123.999d, 18446744073709551615.999d, 
                                  18446744073709551616d, 9223372036854775807.999d, 
                                  9223372036854775808d, -0.999d, -1d, 
                                  -9223372036854775808.999d, 
                                  -9223372036854775809d }

      For Each value In values
         Try
            Dim number As Long = Decimal.ToInt64(value)
            Console.WriteLine("{0} --> {1}", value, number)       
         Catch e As OverflowException
             Console.WriteLine("{0}: {1}", e.GetType().Name, value)
         End Try   
      Next
   End Sub
End Module
' The example displays the following output:
'   123 --> 123
'   123.000 --> 123
'   123.999 --> 123
'   OverflowException: 18446744073709551615.999
'   OverflowException: 18446744073709551616
'   9223372036854775807.999 --> 9223372036854775807
'   OverflowException: 9223372036854775808
'   -0.999 --> 0
'   -1 --> -1
'   -9223372036854775808.999 --> -9223372036854775808
'   OverflowException: -9223372036854775809

Commenti

Il valore restituito è la parte integrale del valore decimale. le cifre frazionarie vengono troncate.The return value is the integral part of the decimal value; fractional digits are truncated.

È anche possibile convertire un Decimal valore in un intero a 64 bit usando l' Explicit operatore di assegnazione.You can also convert a Decimal value to a 64-bit integer by using the Explicit assignment operator. Poiché l'operatore esegue una conversione verso un tipo di caratteri più piccolo, è necessario C# utilizzare un operatore di cast in o una funzione di conversione in Visual Basic.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

Si applica a

Vedi anche