如何更改长变量的显示格式?

时间:2013-08-14 08:45:24

标签: c#

我有一个Long类型的变量,即

long quantity=1000;

我希望在网格中显示1,000(必须使用逗号)

我如何实现这一目标?

我正在使用Telerik Grid,我按如下方式绑定数据:

columns.Bound(tempProductList => tempProductList.tempProductListQuantity) .Title("Quantity")

3 个答案:

答案 0 :(得分:3)

Here您有所有标准数字格式的列表。我认为“N”就是你想要的那个。

long l = 1234;
string s  = l.ToString("N0"); //gives "1,234"

格式说明符后面的“0”是所需的小数位数(默认情况下通常为2)。

请注意,此版本对文化敏感,即在我的国家/地区,我们使用点(“。”)作为千位分隔符,因此实际返回值将为“1.234”而不是“1,234”。如果这是期望的行为,请保持原样,但如果您需要始终使用逗号,则应将文化指定为ToString方法的参数,例如

l.ToString("N0", CultureInfo.InvariantCulture); //always return "1,234"

答案 1 :(得分:0)

您可以创建自定义文化,以便指定千位分隔符。

来自this article

//Create first the format provider the String.Format 
//will use to format our string
CultureInfo cultureToUse = new CultureInfo("fi-FI");
Console.WriteLine("Using the following CultureInfor " + 
                  cultureToUse.Name);

//Now practice some decimal numbers 
//Here we override the culture specific formattings
cultureToUse.NumberFormat.CurrencyDecimalDigits = 3;
cultureToUse.NumberFormat.NumberDecimalDigits = 3;
cultureToUse.NumberFormat.NumberGroupSeparator = " ";
cultureToUse.NumberFormat.CurrencySymbol = "euro";
cultureToUse.NumberFormat.NumberDecimalSeparator = ",";

接下来,您需要在格式化数字时使用此文化。 您可以执行formattin gby hand,但您也可以将文化分配给当前线程的Current(UI)Culture属性。

答案 2 :(得分:0)

如果你想考虑国际观点,小数部分之前就不会有逗号。 ToString函数将为您提供所需的内容。

(1000.0).ToString(“N”,new CultureInfo(“en-US”))= 1,000.00

(1000.0).ToString(“N”,new CultureInfo(“is-IS”))= 1.000,00