Возможный дубликат:
.NET String.Format() добавить запятые в тысячи мест для номера
Как отформатировать номер 1234567 на 1,234,567 в С#?
Возможный дубликат:
.NET String.Format() добавить запятые в тысячи мест для номера
Как отформатировать номер 1234567 на 1,234,567 в С#?
Параметры формата для Int32.ToString() см. Здесь или здесь.
Например:
string s = myIntValue.ToString("#,##0");
В String.Format можно использовать те же параметры формата, что и в
string s = String.Format("the number {0:#,##0}!", myIntValue);
Обратите внимание, что ,
в этом формате не указать "использовать запятую", а, скорее, следует использовать группировку символов для текущей культуры, в положениях культурно-специфичны.
Таким образом, вы получаете "1 234 567 890" для PL-PL или "1,23,45,67,890" для hi-IN.
Использование текущего разделителя тысяч локалей:
int n = 1234567 ;
n.ToString("N0");
Или используйте перегрузку для ToString, которая принимает культуру как параметр.
var decimalValue = 1234567m;
var value = String.Format("{0:N}", decimalValue); // 1,234,567.00
или без центов
var value = String.Format("{0:N0}", decimalValue); // 1,234,567
Try String.Format( "{0: ##, ####, ####}", 8958712551)
В примерах смотрите http://www.csharp-examples.net/string-format-double/
string formatted = string.Format("{0:##,#}", 123456789);
Это зависит от культуры вашего компьютера. Некоторые страны используют запятые, некоторые страны используют точки. На моем компьютере выход был: 123.456.789