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

เมธอด Int64.ToString() ใน C# : แปลงจำนวนเต็ม 64-bit เป็นสตริง

เมธอด Int64.ToString() ใน C# ใช้แปลงค่าตัวเลขของ instance นี้ให้เป็นการแสดงผลสตริงที่เทียบเท่า รองรับการจัดรูปแบบ (formatting) ด้วย format string

รูปแบบไวยากรณ์ (Syntax)

public override string ToString();
public string ToString(string format);
  • format : รูปแบบตัวเลข (numeric format string) เช่น "D8", "X", "N", "C" ฯลฯ

ตัวอย่างที่ 1: การแปลงพื้นฐานและค่าสูงสุด

using System;

public class Demo
{
    public static void Main()
    {
        long val1 = 0;
        long val2 = Int64.MaxValue; // 9,223,372,036,854,775,807
        
        Console.WriteLine("Value1 = " + val1.ToString());
        Console.WriteLine("Value2 = " + val2.ToString());
        Console.WriteLine("Are they equal? = " + val1.Equals(val2));
        Console.WriteLine("Value1 (HashCode) = " + val1.GetHashCode());
        Console.WriteLine("Value2 (HashCode) = " + val2.GetHashCode());
        Console.WriteLine("TypeCode for val1 = " + val1.GetTypeCode());
        Console.WriteLine("TypeCode for val2 = " + val2.GetTypeCode());
    }
}

ผลลัพธ์

Value1 = 0
Value2 = 9223372036854775807
Are they equal? = False
Value1 (HashCode) = 0
Value2 (HashCode) = -2147483648
TypeCode for val1 = Int64
TypeCode for val2 = Int64

ตัวอย่างที่ 2: การจัดรูปแบบด้วย Format String

using System;

public class Demo
{
    public static void Main()
    {
        long val1 = 87987687;
        long val2 = 35436367;
        
        // D8 = Decimal 8 digits (padding with leading zeros)
        Console.WriteLine("Value1 = " + val1.ToString("D8")); // 87987687
        
        // X = Hexadecimal
        Console.WriteLine("Value2 = " + val2.ToString("X"));  // 21CB74F
        
        Console.WriteLine("Are they equal? = " + val1.Equals(val2));
        Console.WriteLine("Value1 (HashCode) = " + val1.GetHashCode());
        Console.WriteLine("Value2 (HashCode) = " + val2.GetHashCode());
        Console.WriteLine("TypeCode for val1 = " + val1.GetTypeCode());
        Console.WriteLine("TypeCode for val2 = " + val2.GetTypeCode());
    }
}

ผลลัพธ์

Value1 = 87987687
Value2 = 21CB74F
Are they equal? = False
Value1 (HashCode) = 87987687
Value2 (HashCode) = 35436367
TypeCode for val1 = Int64
TypeCode for val2 = Int64

Format Strings ที่นิยมใช้กับ Int64

Format คำอธิบาย ตัวอย่าง (1234)
D / Dn Decimal (n = จำนวนหลักขั้นต่ำ) D6 → 001234
X / Xn Hexadecimal (ตัวพิมพ์ใหญ่) X4 → 04D2
x / xn Hexadecimal (ตัวพิมพ์เล็ก) x4 → 04d2
N / Nn Number with thousand separator N0 → 1,234
C / Cn Currency format C2 → $1,234.00

สรุป

  • Int64 (long) รองรับค่าตั้งแต่ -9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807
  • ToString() โดยไม่มีพารามิเตอร์ ใช้ format "G" (General) เริ่มต้น
  • ใช้ format string เพื่อควบคุมการแสดงผล เช่น padding zeros, hex, thousand separator