บทนำ
เมธอด MathF.Round() ใน C# ใช้ปัดเศษค่าจุดลอยตัว (float) ให้เป็นจำนวนเต็มที่ใกล้ที่สุด หรือปัดเศษให้เหลือจำนวนตำแหน่งทศนิยมที่กำหนด รองรับโหมดการปัดเศษผ่าน MidpointRounding
ไวยากรณ์ (Syntax)
public static float Round (float x); public static float Round (float x, int digits); public static float Round (float x, int digits, MidpointRounding mode); public static float Round (float x, MidpointRounding mode);
ตัวอย่างที่ 1: การปัดเศษเป็นจำนวนเต็ม
using System;
public class Demo
{
public static void Main()
{
float val1 = 15.20f;
float val2 = 3.10f;
Console.WriteLine("Rounded (val1) = " + MathF.Round(val1));
Console.WriteLine("Rounded (val2) = " + MathF.Round(val2));
}
}
ผลลัพธ์
Rounded (val1) = 15 Rounded (val2) = 3
ตัวอย่างที่ 2: การปัดเศษกำหนดตำแหน่งทศนิยม
using System;
public class Demo
{
public static void Main()
{
float val1 = 10.23898f;
float val2 = 20.878788f;
Console.WriteLine("Rounded (val1, 2 dp) = " + MathF.Round(val1, 2));
Console.WriteLine("Rounded (val2, 3 dp) = " + MathF.Round(val2, 3));
}
}
ผลลัพธ์
Rounded (val1, 2 dp) = 10.24 Rounded (val2, 3 dp) = 20.879
สรุป
เมธอด MathF.Round() เป็นเวอร์ชัน float ของ Math.Round() ให้ประสิทธิภาพดีกว่าเมื่อทำงานกับ float โดยไม่ต้องแปลงเป็น double ก่อน รองรับโหมดการปัดเศษ MidpointRounding.ToEven (Banker's rounding) และ MidpointRounding.AwayFromZero