как отформатировать 1700 до 1'700 и 1000000 до 1'000'000 в c #? - PullRequest
5 голосов
/ 20 января 2010

Мне нравится форматировать все числа, как в математике. есть предопределенная функция или это просто возможно с подстрокой и заменить?

редактировать: моя культура de-ch

С уважением

Ответы [ 5 ]

6 голосов
/ 20 января 2010

Попробуйте это

int input = Convert.ToInt32("1700");
string result = String.Format("{0:##,##}", input);

или это

Console.WriteLine(1700.ToString("##,##", new NumberFormatInfo() { NumberGroupSeparator = "'" })); 
3 голосов
/ 20 января 2010
var numformat = new NumberFormatInfo {
                   NumberGroupSeparator = "'",
                   NumberGroupSizes = new int[] { 3 },
                   NumberDecimalSeparator = "."
                };
Console.WriteLine(1000000.ToString("N",numformat));
0 голосов
/ 20 января 2010

Я всегда использую этот формат

 "#,##0;#,##0'-';0"

так что вы можете использовать его в

 int input = Convert.ToInt32("100000000");  
 string result = String.Format("{#,##0;#,##0'-';0}", input);
0 голосов
/ 20 января 2010

используйте int.ToString () и iFormatProvider .

также посмотрите здесь msdn.

0 голосов
/ 20 января 2010

Попробуйте это:

Console.WriteLine(1000000.ToString("#,##0").Replace(
    CultureInfo.CurrentCulture.NumberFormat.NumberGroupSeparator, "'"));

Или

NumberFormatInfo likeInMath = new NumberFormatInfo()
{
    NumberGroupSeparator = "'"
};
Console.WriteLine(1000000.ToString("#,##0", likeInMath));
...