как к формату 1700 к 1'700 и 1000000 к 1'000'000 в c#?

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

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

С уважением

5
задан Jack Black 20 January 2010 в 10:32
поделиться

5 ответов

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

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

или это

Console.WriteLine(1700.ToString("##,##", new NumberFormatInfo() { NumberGroupSeparator = "'" })); 
6
ответ дан 14 December 2019 в 01:08
поделиться
var numformat = new NumberFormatInfo {
                   NumberGroupSeparator = "'",
                   NumberGroupSizes = new int[] { 3 },
                   NumberDecimalSeparator = "."
                };
Console.WriteLine(1000000.ToString("N",numformat));
3
ответ дан 14 December 2019 в 01:08
поделиться

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

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

или

NumberFormatInfo likeInMath = new NumberFormatInfo()
{
    NumberGroupSeparator = "'"
};
Console.WriteLine(1000000.ToString("#,##0", likeInMath));
0
ответ дан 14 December 2019 в 01:08
поделиться

Использование int.tostring () и IFormatProvider .

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

0
ответ дан 14 December 2019 в 01:08
поделиться

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

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

, чтобы вы могли использовать его в

 int input = Convert.ToInt32("100000000");  
 string result = String.Format("{#,##0;#,##0'-';0}", input);
0
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: