Decimal.ToInt64(Decimal) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Convertit la valeur du spécifié Decimal en entier signé 64 bits équivalent.
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
Paramètres
- d
- Decimal
Nombre décimal à convertir.
Retours
Entier signé 64 bits équivalent à la valeur de d.
Exceptions
d est inférieur à Int64.MinValue ou supérieur à Int64.MaxValue.
Exemples
L’exemple suivant utilise la ToInt64 méthode pour convertir des nombres décimaux en Int64 valeurs.
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
open System
let values =
[ 123m; Decimal(123000, 0, 0, false, 3uy)
123.999m; 18446744073709551615.999m
18446744073709551616m; 9223372036854775807.999m
9223372036854775808m; -0.999m; -1m
-9223372036854775808.999m
-9223372036854775809m ]
for value in values do
try
let number = Decimal.ToInt64 value
printfn $"{value} --> {number}"
with :? OverflowException as e ->
printfn $"{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
Remarques
La valeur de retour est la partie intégrante de la valeur décimale ; les chiffres fractionnaires sont tronqués.
Vous pouvez également convertir une Decimal valeur en entier 64 bits à l’aide de l’opérateur d’affectation Explicit . Étant donné que l’opérateur effectue une conversion étroite, vous devez utiliser un opérateur de cast en C# ou une fonction de conversion dans Visual Basic.