บทนำ
เมธอด Decimal.Subtract() ใน C# ใช้สำหรับลบค่า Decimal สองค่าที่ระบุ โดยคืนค่าผลลัพธ์เป็นชนิด Decimal
ไวยากรณ์ (Syntax)
public static decimal Subtract (decimal val1, decimal val2);
โดยที่ val1 คือตัวถูกหัก (minuend) และ val2 คือตัวหัก (subtrahend)
ตัวอย่างที่ 1: การลบค่า Decimal ทั่วไป
using System;
public class Demo
{
public static void Main()
{
Decimal val1 = 3.45m;
Decimal val2 = 2.35m;
Console.WriteLine("Decimal 1 = " + val1);
Console.WriteLine("Decimal 2 = " + val2);
Decimal res = Decimal.Subtract(val1, val2);
Console.WriteLine("Result (Subtract) = " + res);
}
}
ผลลัพธ์
Decimal 1 = 3.45 Decimal 2 = 2.35 Result (Subtract) = 1.10
ตัวอย่างที่ 2: กรณีเกิด OverflowException
เมื่อผลลัพธ์เกินขอบเขตของชนิด Decimal จะเกิดข้อยกเว้น OverflowException
using System;
public class Demo
{
public static void Main()
{
Decimal val1 = 2.35m;
Decimal val2 = Decimal.MinValue;
Console.WriteLine("Decimal 1 = " + val1);
Console.WriteLine("Decimal 2 = " + val2);
try
{
Decimal res = Decimal.Subtract(val1, val2);
Console.WriteLine("Result (Subtract) = " + res);
}
catch (OverflowException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
ผลลัพธ์
Decimal 1 = 2.35 Decimal 2 = -79228162514264337593543950335 Error: Value was either too large or too small for a Decimal.
สรุป
เมธอด Decimal.Subtract() ให้ความแม่นยำสูงสำหรับการคำนวณทางการเงินและวิทยาศาสตร์ แต่ควรจัดการข้อยกเว้น OverflowException เมื่อทำงานกับค่าขอบเขต極端