Chuyển int (hoặc các kiểu số nguyên khác) sang string bằng phương thức ToString() hoặc Convert.ToString().
Mã nguồn
using System;
class MyApplication {
static void Main(string[] args) {
int num = 299;
// Cách 1: ToString() - instance method
string s1 = num.ToString();
// Cách 2: Convert.ToString() - static method (an toàn null)
string s2 = Convert.ToString(num);
// Cách 3: String interpolation (C# 6+)
string s3 = $"{num}";
// Cách 4: String.Format
string s4 = string.Format("{0}", num);
// Cách 5: Concatenation với string rỗng
string s5 = num + "";
Console.WriteLine("ToString(): {0}", s1);
Console.WriteLine("Convert.ToString(): {0}", s2);
Console.WriteLine("Interpolation: {0}", s3);
Console.WriteLine("String.Format: {0}", s4);
Console.WriteLine("Concat: {0}", s5);
Console.ReadLine();
}
}
Kết quả
ToString(): 299
Convert.ToString(): 299
Interpolation: 299
String.Format: 299
Concat: 299
Định dạng số (Format Strings)
int n = 1234567;
Console.WriteLine(n.ToString("N0")); // 1,234,567 (number với group separator)
Console.WriteLine(n.ToString("D10")); // 001234567 (decimal, padding 10 chữ số)
Console.WriteLine(n.ToString("X")); // 1E240 (hex uppercase)
Console.WriteLine(n.ToString("x")); // 1e240 (hex lowercase)
Console.WriteLine(n.ToString("C")); // $1,234,567.00 (currency, tùy culture)
Console.WriteLine(n.ToString("P0")); // 123,456,700% (percentage)
Culture-specific formatting
using System.Globalization;
var viVN = new CultureInfo("vi-VN");
var enUS = CultureInfo.InvariantCulture;
double val = 1234.56;
Console.WriteLine(val.ToString("N2", viVN)); // 1.234,56 (dấu chấm phân cách nghìn, phẩy thập phân)
Console.WriteLine(val.ToString("N2", enUS)); // 1,234.56
Lưu ý
num.ToString()némNullReferenceExceptionnếunumlà nullableint?và null.Convert.ToString(num)trả vềstring.Emptyan toàn.- String interpolation
$"{num}"compile-time thànhstring.Format— hiệu năng tốt, dễ đọc. - Tránh
num + ""— kém rõ ràng, tạo string rác.