Decimal.ToInt32(Decimal) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Převede hodnotu zadaného Decimal na ekvivalentní 32bitové celé číslo se signedm.
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
Parametry
- d
- Decimal
Desetinné číslo, které chcete převést.
Návraty
32bitové celé číslo se signedm odpovídající hodnotě d.
Výjimky
d je menší než Int32.MinValue nebo větší než Int32.MaxValue.
Příklady
Následující příklad používá metodu k převodu ToInt32 desetinných čísel na Int32 hodnoty.
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
'
Poznámky
Návratová hodnota je nedílnou součástí desetinné hodnoty; desetinné číslice jsou zkráceny.
Hodnotu můžete také převést Decimal na 32bitové celé číslo pomocí operátoru Explicit přiřazení. Vzhledem k tomu, že operátor provádí zužující převod, je nutné použít operátor přetypování v jazyce C# nebo převodní funkci v Visual Basic.