Decimal.ToUInt64(Decimal) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wichtig
Diese API ist nicht CLS-kompatibel.
Konvertiert den Wert des angegebenen Decimal in die entsprechende 64-Bit-Ganzzahl ohne Vorzeichen.
public:
static System::UInt64 ToUInt64(System::Decimal d);
[System.CLSCompliant(false)]
public static ulong ToUInt64 (decimal d);
[<System.CLSCompliant(false)>]
static member ToUInt64 : decimal -> uint64
Public Shared Function ToUInt64 (d As Decimal) As ULong
Parameter
- d
- Decimal
Die zu konvertierende Dezimalzahl.
Gibt zurück
Eine 64-Bit-Ganzzahl ohne Vorzeichen, die dem Wert von d
entspricht.
- Attribute
Ausnahmen
d
ist negativ oder größer als UInt64.MaxValue.
Beispiele
Im folgenden Beispiel wird die ToUInt64 -Methode verwendet, um Dezimalzahlen in Werte zu UInt64 konvertieren.
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 {
ulong number = Decimal.ToUInt64(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
// 18446744073709551615.999 --> 18446744073709551615
// OverflowException: 18446744073709551616
// 9223372036854775807.999 --> 9223372036854775807
// 9223372036854775808 --> 9223372036854775808
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -9223372036854775808.999
// 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.ToUInt64 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
// 18446744073709551615.999 --> 18446744073709551615
// OverflowException: 18446744073709551616
// 9223372036854775807.999 --> 9223372036854775807
// 9223372036854775808 --> 9223372036854775808
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -9223372036854775808.999
// 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 ULong = Decimal.ToUInt64(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
' 18446744073709551615.999 --> 18446744073709551615
' OverflowException: 18446744073709551616
' 9223372036854775807.999 --> 9223372036854775807
' 9223372036854775808 --> 9223372036854775808
' -0.999 --> 0
' OverflowException: -1
' OverflowException: -9223372036854775808.999
' OverflowException: -9223372036854775809
Hinweise
Der Rückgabewert ist der integrale Teil des Dezimalwerts. Bruchstellen werden abgeschnitten.
Sie können einen Decimal Wert auch mithilfe des Explicit Zuweisungsoperators in eine ganze 64-Bit-Ganzzahl ohne Vorzeichen konvertieren. Da der Operator eine einschränkende Konvertierung ausführt, müssen Sie einen Umwandlungsoperator in C# oder eine Konvertierungsfunktion in Visual Basic verwenden.