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

Definition

Konvertiert den Wert des angegebenen Decimal in die entsprechende 64-Bit-Ganzzahl mit Vorzeichen.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

Parameter

d
Decimal Decimal Decimal Decimal

Die zu konvertierende Dezimalzahl.The decimal number to convert.

Gibt zurück

Eine 64-Bit-Ganzzahl mit Vorzeichen, die dem Wert von d entspricht.A 64-bit signed integer equivalent to the value of d.

Ausnahmen

d ist kleiner als MinValue oder größer als MaxValue.d is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird die ToInt64 Methode zum Konvertieren von Dezimalzahlen, Int64 Werte.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

Hinweise

Der Rückgabewert ist der ganzzahlige Teil von der decimal-Wert. Dezimalstellen werden abgeschnitten.The return value is the integral part of the decimal value; fractional digits are truncated.

Sie können auch konvertieren eine Decimal Wert in eine 64-Bit-Ganzzahl mit der Explicit Zuweisungsoperator.You can also convert a Decimal value to a 64-bit integer by using the Explicit assignment operator. Da der Operator eine einschränkende Konvertierung ausführt, müssen Sie einen Typumwandlungsoperator in c# oder eine Konvertierungsfunktion in Visual Basic verwenden.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

Gilt für:

Siehe auch