我有一个需要转换为逗号分隔值的整数。我试过了
string.Format("{0:n}", 999999)
然而,我得到的输出是999,999.00。我不希望出现“.00”部分。怎么办呢。
提前致谢
答案 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));