บทนำ
เมธอด Decimal.ToByte() ใน C# ใช้แปลงค่าของ Decimal ที่ระบุให้เป็นจำนวนเต็ม 8 บิตที่ไม่มีเครื่องหมาย (byte) เทียบเท่า โดยตัดส่วนทศนิยมทิ้ง
ไวยากรณ์ (Syntax)
public static byte ToByte (decimal val);
โดยที่ val คือค่าทศนิยมที่ต้องการแปลง
ตัวอย่างที่ 1: การแปลงค่าทศนิยมบวก
using System;
public class Demo
{
public static void Main()
{
Decimal val1 = 6.59m;
Decimal val2 = 30.12m;
Decimal val3 = 69.34m;
Console.WriteLine("Decimal 1 = " + val1);
Console.WriteLine("Decimal 2 = " + val2);
Console.WriteLine("Decimal 3 = " + val3);
byte res1 = Decimal.ToByte(val1);
byte res2 = Decimal.ToByte(val2);
byte res3 = Decimal.ToByte(val3);
Console.WriteLine("Byte value1 (Decimal to Byte) = " + res1);
Console.WriteLine("Byte value2 (Decimal to Byte) = " + res2);
Console.WriteLine("Byte value3 (Decimal to Byte) = " + res3);
}
}
ผลลัพธ์
Decimal 1 = 6.59 Decimal 2 = 30.12 Decimal 3 = 69.34 Byte value1 (Decimal to Byte) = 6 Byte value2 (Decimal to Byte) = 30 Byte value3 (Decimal to Byte) = 69
ตัวอย่างที่ 2: การแปลงค่าลบ (คืนค่า 0)
using System;
public class Demo
{
public static void Main()
{
Decimal val1 = -0.22m;
Decimal val2 = -0.01m;
Console.WriteLine("Decimal 1 = " + val1);
Console.WriteLine("Decimal 2 = " + val2);
byte res1 = Decimal.ToByte(val1);
byte res2 = Decimal.ToByte(val2);
Console.WriteLine("Byte value1 (Decimal to Byte) = " + res1);
Console.WriteLine("Byte value2 (Decimal to Byte) = " + res2);
}
}
ผลลัพธ์
Decimal 1 = -0.22 Decimal 2 = -0.01 Byte value1 (Decimal to Byte) = 0 Byte value2 (Decimal to Byte) = 0
สรุป
เมธอด Decimal.ToByte() แปลง Decimal เป็น byte (0 ถึง 255) โดย truncate ส่วนทศนิยม ค่าลบจะถูกแปลงเป็น 0 (ไม่ใช่การโยนข้อยกเว้น) หากค่ามากกว่า 255 จะเกิด OverflowException ควรตรวจสอบขอบเขตก่อนแปลง