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

时间:2009-12-09 07:01:09

标签: c#

如何以3位数分组显示数字。

对于Ex:12341,2341 234

8 个答案:

答案 0 :(得分:15)

来自Standard Numeric Format Strings中的数字(“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 

答案 1 :(得分:12)

试试这个:

String.Format("{0:n0}", yourNumber);

如果您想要空格而不是逗号,请尝试以下方法:

String.Format("{0:n0}", yourNumber).Replace(",", " ");

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

String.Format("{0:n0}", yourNumber)
    .Replace(NumberFormatInfo.CurrentInfo.NumberGroupSeparator, " ");

答案 2 :(得分:6)

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

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

答案 3 :(得分:2)

您可以使用

yourDecimal.ToString("#,##0");

yourDecimal.ToString("#,##0.00");

表示小数位。

答案 4 :(得分:1)

比较那些:

 .ToString("#,##0", new System.Globalization.CultureInfo("en-US"))

 .ToString("#,##0", new System.Globalization.CultureInfo("fr-FR"))

 .ToString("#,##0", new System.Globalization.CultureInfo("de-DE"))

 .ToString("#,##0")

我希望它会有所帮助。

答案 5 :(得分:1)

您可以简单地使用Visual Basic TriState 例如:

textBox1.Text = Microsoft.VisualBasic.Strings.FormatNumber(textBox1.Text, 0, TriState.True);

字符串格式化不是我需要的!但是这个完成了我想要的! 希望它也能解决你的问题:)

答案 6 :(得分:1)

使用此示例代码:

UIButton

输出= 123,456

答案 7 :(得分:0)

此代码:

Console.WriteLine(String.Format("{0:#,###0}", 1234567));

结果:1,234,567