-2

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

long quantity=1000;

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

我如何实现这一目标?

我正在使用 Telerik Grid,我将数据绑定如下:

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

3 回答 3

3

在这里,您可以看到所有标准数字格式的列表。我认为“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"
于 2013-08-14T08:48:31.217 回答
0

如果要考虑国际化的角度,小数部分前不会总有逗号。ToString 函数会给你你想要的。

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

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

于 2013-08-14T09:01:00.957 回答
0

您可以创建一个自定义文化,允许您指定千位分隔符。

这篇文章

//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 属性。

于 2013-08-14T08:51:24.617 回答