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

ทำไมต้องใช้ 'f' เมื่อประกาศ float ใน C#?

ตัวอักษร f (หรือ F) เป็น Literal Suffix ที่บอกคอมไพเลอร์ว่าค่าคงที่ตัวเลขทศนิยมนั้นเป็นชนิด float (Single) ไม่ใช่ double (Double) ซึ่งเป็นค่าเริ่มต้นของตัวเลขทศนิยมใน C#

ตัวอย่าง

using System;

public class Program
{
    public static void Main()
    {
        float val = 30.22f; // ต้องมี f/F ไม่งั้นจะเป็น double
        Console.WriteLine(val);
    }
}

ผลลัพธ์

30.22

เหตุผล: หากเขียน float val = 30.22; คอมไพเลอร์จะแจ้ง Error CS0664: "Literal of type double cannot be implicitly converted to type float" เนื่องจาก double มีความแม่นยำสูงกว่าและขอบเขตกว้างกว่า การแปลงโดยนัยอาจสูญเสียความแม่นยำ