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

本文关键字:显示格式 变量 何更改 | 更新日期: 2023-09-27 18:27:40

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

long quantity=1000;

我想像网格中的1,000一样显示它(必须需要逗号)

我该如何做到这一点?

我使用的是Telerik网格,我将数据绑定如下:

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

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

这里有一个所有标准数字格式的列表。我认为"N"是你想要的。

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

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

请注意,此版本对区域性敏感,即在我的国家,我们使用句点(".")作为千位分隔符,因此实际返回的值将是"1.234",而不是"1234"。如果这是所需的行为,请保持原样,但如果需要始终使用逗号,则应指定区域性作为ToString方法的参数,如

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

您可以创建一个自定义区域性,允许您指定千分隔符。

来自本文:

//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 = ",";

接下来,在格式化数字时,您需要使用这种区域性。您可以手动进行格式化,但也可以将区域性分配给当前线程的Current(UI)culture属性。

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

(1000.0).ToString("N",new CultureInfo("en-US"))=1000.00

(1000.0).ToString("N",new CultureInfo("is is"))=1.000,00