.net 格式-整数,千位分隔符,无小数

.net 格式-整数,千位分隔符,无小数,.net,string.format,.net,String.format,最简单的String.Format模板是什么,用于格式化带有千位分隔符(逗号)且无小数位数的整数?美国文化。所需格式的示例: 1200 = 1,200 900 = 900 8 = 8 谢谢 我找到了一个可以正常工作的: {0:#,0} N0是您正在寻找的格式。 N将使用逗号对其进行格式化,0将告诉它不要使用小数: // will format as 33,540 string.Format("{0:N0}", 33540.54M) // example using an integer

最简单的String.Format模板是什么,用于格式化带有千位分隔符(逗号)且无小数位数的整数?美国文化。所需格式的示例:

1200 = 1,200

900 = 900

8 = 8

谢谢

我找到了一个可以正常工作的:

{0:#,0}

N0是您正在寻找的格式。 N将使用逗号对其进行格式化,0将告诉它不要使用小数:

// will format as 33,540
string.Format("{0:N0}", 33540.54M)

// example using an integer: 1,200
string.Format("{0:N0}", 1200);
发件人:

结果:整数和小数位数、组分隔符和小数 带可选负号的分隔符。支持者:所有数字 类型。精度说明符:所需的小数位数。违约 精度说明符:由numberformatinfo.NumberDecimalDigits定义。 更多信息:数字(“N”)格式说明符


仅使用格式字符串是不可能做到这一点的。您还必须指定区域性或数字格式,或者确保当前区域性是正确的。千位分隔符使用区域性中指定的分隔符,不能在格式中指定分隔符

格式字符串
N0
最短,可获得千位分隔符和零位小数

例如:

String.Format(CultureInfo.GetCultureInfo("en-US"), "{0:N0}", 12345678.901234)

使用string.Format模板时不必引用区域性,例如:
string.Format(“有{0:#,0}个结果与您的查询相匹配:”,resultcount)
…正如我所指出的,我使用的是en-US文化。此外,您当然可以指定数千分隔符作为您选择的符号,如下所示:
{0:#| | 0}
产生“1 | 200”@mdelvecchio:从这个问题上看,您是否特别使用了en-US文化,或者您是否希望结果按照en-US文化格式化。我只是想在回答中说明,你必须确保使用特定的文化来获得正确的文化。只有
表示格式中的千位分隔符,格式
{0:#| 0}
不会产生
1 | 200
,而是
120 | 0
。我在问题中明确指出,en US是目标。另外,您错了--{0:| | 0}在使用en-US(我的服务器的默认区域性)时确实会产生“1 | 200”。我自己也试过了,你也应该这么做……所以,是的,你可以指定string.Format中使用的分隔符,只是不能使用你建议的答案。幸运的是,我不需要任何东西,只需要一个逗号。@mdelvecchio:这个问题只提到了一种文化,所以不清楚这意味着什么,所以我想在回答中非常清楚。我已经尝试在一个格式字符串中使用格式
{0:#| 0}
,并指定en-US文化,现在我甚至再次尝试,以确保绝对可靠,结果与我以前写的一样。在格式字符串中使用
|
没有特殊意义,因此它只是插入字符串中的该位置。看见