ใช้ decimal.Round(value, decimals, MidpointRounding.ToEven) เพื่อปัดเศษแบบ Banker's Rounding (ปัดไปทางเลขคู่เมื่ออยู่ตรงกลาง)
ตัวอย่าง: ปัด 25.55 เป็นจำนวนเต็ม
using System;
class Demo
{
static void Main()
{
decimal val = 25.55M;
// ปัด 0 ตำแหน่งทศนิยม แบบ ToEven
Console.WriteLine(decimal.Round(val, 0, MidpointRounding.ToEven)); // 26
}
}
ผลลัพธ์
26
เหตุผล: 25.55 อยู่ระหว่าง 25 และ 26, 26 เป็นเลขคู่ จึงปัดขึ้นเป็น 26 (ToEven) หากใช้ AwayFromZero จะได้ 26 เช่นกัน แต่กรณี 24.5 จะปัดเป็น 24 (ToEven) หรือ 25 (AwayFromZero)