如何在3位分组中显示数字

San*_*osh 11 c#

如何在3位分组中显示数字.

对于Ex:12341,2341 234

Ale*_*vis 17

标准数字格式字符串中的数字("N")格式说明符部分:

double dblValue = -12445.6789;
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture));
// Displays -12,445.68

Console.WriteLine(dblValue.ToString("N1", 
                  CultureInfo.CreateSpecificCulture("sv-SE")));
// Displays -12 445,7

int intValue = 123456789;
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture));
// Displays 123,456,789.0 
Run Code Online (Sandbox Code Playgroud)

  • "N1"将添加小数位,"n0"将切断它们,这似乎是OP正在寻找的. (7认同)

And*_*are 13

试试这个:

String.Format("{0:n0}", yourNumber);
Run Code Online (Sandbox Code Playgroud)

如果你想要空格而不是逗号,试试这个:

String.Format("{0:n0}", yourNumber).Replace(",", " ");
Run Code Online (Sandbox Code Playgroud)

编辑: Marc提出了一个关于文化意识的好点,所以这将是更换组分隔符的更好方法:

String.Format("{0:n0}", yourNumber)
    .Replace(NumberFormatInfo.CurrentInfo.NumberGroupSeparator, " ");
Run Code Online (Sandbox Code Playgroud)


Mar*_*ell 6

逗号的情况很简单 - .ToString("###,###,###"); 为空间?也许作弊并取代逗号?或者用空格作为组分隔符编写自定义文化?

另请注意,这取决于文化.上面的逗号并不意味着"逗号",它表示文化的组分隔符.如果这很重要,你可能想要指定一个固定的文化(也许是不变的文化).


Adr*_*der 5

您可以使用

yourDecimal.ToString("#,##0");
Run Code Online (Sandbox Code Playgroud)

或者

yourDecimal.ToString("#,##0.00");
Run Code Online (Sandbox Code Playgroud)

对于小数位。