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

ปัดเศษจำนวนเป็นเลขคู่ที่ใกล้ที่สุดใน C#

ใช้ 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)