ชนิดข้อมูล long แทนจำนวนเต็มที่มีเครื่องหมาย 64 บิต ใน C# สามารถแปลงค่า long เป็น decimal ได้โดยตรง (Implicit Conversion) โดยไม่ต้องใช้การแปลงชนิดข้อมูลแบบชัดเจน (Explicit Cast)
ขั้นตอนการแปลง
1. กำหนดค่า long ไว้ก่อน:
long val = 989678876876876;
2. กำหนดค่าให้กับตัวแปร decimal โดยตรง:
decimal dec = val;
ตัวอย่างโค้ดเต็ม
using System;
public class Demo
{
public static void Main()
{
long val = 76755565656565;
decimal dec;
Console.WriteLine("การแปลงโดยนัยจากจำนวนเต็ม 64 บิต (long) เป็น Decimal");
dec = val;
Console.WriteLine("Decimal : " + dec);
}
}
ผลลัพธ์
การแปลงโดยนัยจากจำนวนเต็ม 64 บิต (long) เป็น Decimal Decimal : 76755565656565
หมายเหตุ: การแปลงนี้เป็นไปได้เพราะ decimal มีขอบเขตค่าที่ใหญ่กว่าและความแม่นยำสูงกว่า long จึงไม่เกิดการสูญเสียข้อมูล