2013-03-05 4 views
0

У меня есть строковое число, которое я хочу форматировать, чтобы иметь запятую.форматирование числовой строки запятыми

Например, строка 12345 должна отображаться как 12,345

Как достичь этого?

Это встроено в html.

+0

check 'NumberFormatInfo.NumberGroupSeparator' – sll

+0

Поскольку хорошо иметь ответ на все, что на SO, я не собираюсь предлагать, чтобы это можно было легко просмотреть на MSDN. – Jodrell

+0

@Mike Быстрый уточняющий вопрос - ваш номер уже сохранен в виде строки? Можем ли мы увидеть, что вы пробовали до сих пор? – EtherDragon

ответ

2

Отъезд documentation

value = 1234567890; 
Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture)); 
// Displays 1,234,567,890 
+0

получил ошибку «CultureInfo не существует в текущем контексте», переходя на «System.Globalization.CultureInfo.InvariantCulture», дает ошибку «нет перегрузки для метода ToString принимает 2 аргумента» – Mike

+0

@Mike Удостоверьтесь, что «значение» (или какая-либо переменная вы 're using) объявляется как 'int', а не' object'. –

+0

Это должен быть объект – Mike

6

canonical MSDN article

Group separator specifier: 
2147483647.ToString("##,#", en-US) -> 2,147,483,647 
2147483647.ToString("##,#", es-ES) -> 2.147.483.647 

Scaling specifier: 
2147483647.ToString("#,#,,", en-US) -> 2,147 
2147483647.ToString("#,#,,", es-ES) -> 2.147 

или, для более легкого прикосновения, увидеть это great article from years ago

0
int answer = 12345; 
Console.WriteLine(String.Format("{0:n0}", answer)); 

Использование Console.WriteLine «S построен в форматировщиком:

int answer = 12345; 
Console.WriteLine("{0:n0}", answer); 
+0

'string sAnswer = 12345; String.Format ("{0: n0}", sAnswer) 'возвращает' 12345' – Mike

+0

Поскольку вы начинаете как строку, вы должны начинать как число, например 'int'. Проверьте мои изменения. – Khan

+0

oops guess я не упоминал, этот C# вложен в html, console.writeline не работает – Mike

0

См. Standard Number Formatting.

int number = 12345; 
number.ToString("N0"); 
+0

не будет работать Poke .. что-то вроде этого будет, однако, '' int number = 123456; var strNumber = number.ToString ("N0"); ' – MethodMan

0

Чтобы отобразить число с форматированием, вам необходимо использовать функцию ToString() для форматирования.

Пример:

int value = 123456; 
value.ToString("N0") // Displays: 123,4556 as a string. 

Более подробную информацию можно найти здесь: http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

+0

Значение должно быть строкой – Mike

+0

Zachary, что ответ неверный, вывод не отображается 123,4556, вы фактически запустили это, не говоря уже о том, что у вас есть опечатка в вашем ответе – MethodMan

+0

это будет работать, однако, 'int value = 123456; var newValue = значение.ToString ("N0"); ' – MethodMan

1
string str = string.Format("{0:n2}", 12345); 
Console.WriteLine(str); 
Console.Read(); 

Примечание: что я использовал п2 в string.Format который означает, что вы хотите до 2 знаков после запятой. если вы не хотите никакой цифры после десятичной запятой, вы можете установить от 2 до 0

Смежные вопросы