Вы можете указать 0 в точности:
string x = string.Format("{0:n0}", 999999);
Console.WriteLine(x);
или более просто, если вы на самом деле не нужно его в большем формате строки:
string x = 999999.ToString("n0");
Console.WriteLine(x);
Обратите внимание, что для текущей культуры используется разделитель тысяч по умолчанию. Если вы хотите, чтобы заставить его использовать запятые, вы, вероятно, следует указать культуру явно:
string x = 999999.ToString("n0", CultureInfo.InvariantCulture);
Console.WriteLine(x);
Я бы лично описать это как «разделенный запятыми», кстати - который обычно используется для описания формата, который объединяет несколько разных значений. Я бы просто сказал об этом «включая запятую как тысячу разделителей».
Должен ли он быть разделены запятой или просто тысячи разделены? Не каждая страна в мире использует запятую как разделитель тысяч. – R0MANARMY
Обратите внимание, что термин «значение, разделенное запятой», как правило, является именем формата файла (.CSV), поэтому может быть запутанным, если вы попытаетесь использовать его для описания формата чисел с разделителями тысяч. – Guffa
** Возможный дубликат: ** Этот вопрос уже ответил ранее: [String.Format целое число, чтобы использовать разделитель 1000 без десятичных знаков или число 0 для небольших целых чисел] (http://stackoverflow.com/q/1666346/240733). – stakx