Decimal.ToInt32(Decimal) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengonversi nilai yang ditentukan Decimal ke bilangan bulat bertanda tangan 32-bit yang setara.
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
Angka desimal yang akan dikonversi.
Mengembalikan
Bilangan bulat bertanda tangan 32-bit yang setara dengan nilai d
.
Pengecualian
d
kurang dari Int32.MinValue atau lebih besar dari Int32.MaxValue.
Contoh
Contoh berikut menggunakan ToInt32 metode untuk mengonversi angka desimal menjadi Int32 nilai.
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
'
Keterangan
Nilai yang dikembalikan adalah bagian integral dari nilai desimal; digit pecahan dipotok.
Anda juga dapat mengonversi Decimal nilai menjadi bilangan bulat 32-bit dengan menggunakan Explicit operator penugasan. Karena operator melakukan konversi yang mempersempit, Anda harus menggunakan operator transmisi di C# atau fungsi konversi di Visual Basic.