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