บทนำ
เมธอด Decimal.ToInt32() ใน C# ใช้แปลงค่าของ Decimal ที่ระบุให้เป็นจำนวนเต็ม 32 บิตที่มีเครื่องหมาย (int) เทียบเท่า โดยตัดส่วนทศนิยมทิ้ง
ไวยากรณ์ (Syntax)
public static int ToInt32 (decimal val);
โดยที่ val คือค่าทศนิยมที่ต้องการแปลง
ตัวอย่างที่ 1: การแปลงค่าทศนิยมเล็ก
using System;
public class Demo
{
public static void Main()
{
Decimal val1 = 0.001m;
Decimal val2 = 1.000m;
Console.WriteLine("Decimal 1 = " + val1);
Console.WriteLine("Decimal 2 = " + val2);
int res1 = Decimal.ToInt32(val1);
int res2 = Decimal.ToInt32(val2);
Console.WriteLine("32-bit signed integer (val1) = " + res1);
Console.WriteLine("32-bit signed integer (val2) = " + res2);
}
}
ผลลัพธ์
Decimal 1 = 0.001 Decimal 2 = 1.000 32-bit signed integer (val1) = 0 32-bit signed integer (val2) = 1
ตัวอย่างที่ 2: การแปลงค่าบวกและลบ
using System;
public class Demo
{
public static void Main()
{
Decimal val1 = -3.578m;
Decimal val2 = 9.352m;
Console.WriteLine("Decimal 1 = " + val1);
Console.WriteLine("Decimal 2 = " + val2);
int res1 = Decimal.ToInt32(val1);
int res2 = Decimal.ToInt32(val2);
Console.WriteLine("32-bit signed integer (val1) = " + res1);
Console.WriteLine("32-bit signed integer (val2) = " + res2);
}
}
ผลลัพธ์
Decimal 1 = -3.578 Decimal 2 = 9.352 32-bit signed integer (val1) = -3 32-bit signed integer (val2) = 9
สรุป
เมธอด Decimal.ToInt32() แปลงค่า Decimal เป็น int โดยตัดส่วนทศนิยม (truncate toward zero) ขอบเขตค่าที่รองรับคือ -2,147,483,648 ถึง 2,147,483,647 หากเกินขอบเขตจะเกิด OverflowException