Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด Decimal.ToByte ใน C# พร้อมตัวอย่าง


บทนำ

เมธอด 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 ควรตรวจสอบขอบเขตก่อนแปลง