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

โปรแกรม C# แปลงค่า Double เป็น Int64


ภาพรวม

ใช้ Convert.ToInt64() แปลง double เป็น long (Int64) โดยจะปัดเศษทศนิยมแบบ Banker's Rounding เหมือน Convert.ToInt32

รูปแบบการใช้งาน

double val = 23.951213e12; // 2.3951213 × 10¹³
long longVal = Convert.ToInt64(val); // 23951213000000

ตัวอย่างโค้ดเต็ม

using System;

public class Demo
{
    public static void Main()
    {
        double val = 23.951213e12;
        long longVal = Convert.ToInt64(val);
        Console.WriteLine("Converted double {0:E} to Int64 {1:N0} value", val, longVal);
    }
}

ผลลัพธ์

Converted double 2.395121E+013 to Int64 23,951,213,000,000 value

ข้อสังเกต

  • หากค่า double เกินขอบเขต long (±9.22×10¹⁸) จะโยน OverflowException
  • การปัดเศษ: ใช้ Banker's Rounding (ปัดเป็นเลขคู่เมื่ออยู่กึ่งกลาง .5)
  • สำหรับการตัดทศนิยม (truncate) ใช้ (long)val หรือ Math.Truncate(val)