Decimal.ToInt32(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.
Konvertiert den Wert des angegebenen Decimal in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.
public:
static int ToInt32(System::Decimal d);
public static int ToInt32 (decimal d);
static member ToInt32 : decimal -> int
Public Shared Function ToInt32 (d As Decimal) As Integer
Parameter
- d
- Decimal
Die zu konvertierende Dezimalzahl.
Gibt zurück
Eine 32-Bit-Ganzzahl mit Vorzeichen, die dem Wert von d
entspricht.
Ausnahmen
d
ist kleiner als Int32.MinValue oder größer als Int32.MaxValue.
Beispiele
Im folgenden Beispiel wird die ToInt32 -Methode verwendet, um Dezimalzahlen in Werte zu Int32 konvertieren.
using System;
class Example
{
public static void Main( )
{
decimal[] values = { 123m, new decimal(123000, 0, 0, false, 3),
123.999m, 4294967295.999m, 4294967296m,
4294967296m, 2147483647.999m, 2147483648m,
-0.999m, -1m, -2147483648.999m, -2147483649m };
foreach (var value in values) {
try {
int number = Decimal.ToInt32(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: 4294967295.999
// OverflowException: 4294967296
// OverflowException: 4294967296
// 2147483647.999 --> 2147483647
// OverflowException: 2147483648
// -0.999 --> 0
// -1 --> -1
// -2147483648.999 --> -2147483648
// OverflowException: -2147483649
open System
let values =
[ 123m; Decimal(123000, 0, 0, false, 3uy)
123.999m; 4294967295.999m; 4294967296m
4294967296m; 2147483647.999m; 2147483648m
-0.999m; -1m; -2147483648.999m; -2147483649m ]
for value in values do
try
let number = Decimal.ToInt32 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: 4294967295.999
// OverflowException: 4294967296
// OverflowException: 4294967296
// 2147483647.999 --> 2147483647
// OverflowException: 2147483648
// -0.999 --> 0
// -1 --> -1
// -2147483648.999 --> -2147483648
// OverflowException: -2147483649
Module Example
Public Sub Main()
Dim values() As Decimal = { 123d, New Decimal(123000, 0, 0, false, 3),
123.999d, 4294967295.999d, 4294967296d,
4294967296d, 2147483647.999d, 2147483648d,
-0.999d, -1d, -2147483648.999d, -2147483649d }
For Each value In values
Try
Dim number As Integer = Decimal.ToInt32(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: 4294967295.999
' OverflowException: 4294967296
' OverflowException: 4294967296
' 2147483647.999 --> 2147483647
' OverflowException: 2147483648
' -0.999 --> 0
' -1 --> -1
' -2147483648.999 --> -2147483648
' OverflowException: -2147483649
'
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 32-Bit-Ganzzahl konvertieren. Da der Operator eine einschränkende Konvertierung ausführt, müssen Sie einen Umwandlungsoperator in C# oder eine Konvertierungsfunktion in Visual Basic verwenden.