c#中逗号分隔的整数

时间:2011-01-08 14:06:02

标签: c#

我有一个需要转换为逗号分隔值的整数。我试过了

string.Format("{0:n}", 999999)

然而,我得到的输出是999,999.00。我不希望出现“.00”部分。怎么办呢。

提前致谢

4 个答案:

答案 0 :(得分:17)

您可以指定0作为精度:

string x = string.Format("{0:n0}", 999999);
Console.WriteLine(x);

或者更简单,如果你不是真的需要更大的格式字符串:

string x = 999999.ToString("n0");
Console.WriteLine(x);

请注意,这将使用当前区域性的默认“千位分隔符”。如果要强制它使用逗号,您应该明确指定文化:

string x = 999999.ToString("n0", CultureInfo.InvariantCulture);
Console.WriteLine(x);

我不会将此描述为“以逗号分隔”的方式 - 通常用于描述组合多个不同值的格式。我只是谈论这个“包括逗号作为千分隔符”。

答案 1 :(得分:0)

int x = 999999;
Console.WriteLine(x.ToString("###,###"));

答案 2 :(得分:0)

试试这个

decimal Rupees = 999999999900;
string numberString = Rupees.ToString("00,00,000",
    System.Globalization.CultureInfo.GetCultureInfo("hi-IN"));
Response.Write(numberString);

答案 3 :(得分:0)

我认为这是最普遍和正确的:

const int value = 1234567890;

        NumberFormatInfo format = new NumberFormatInfo();
        format.NumberDecimalDigits = 0; // Int32 should not contain decimals.
        format.NumberGroupSeparator = "'"; // Use any separator string here, for example comman as you requested.
        format.NumberGroupSizes = new[] { 3 }; // Theoretically can be commented, but use it to specify number of digits in group directly.

        Console.WriteLine(value.ToString("N", format));