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

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


บทนำ

เมธอด 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