我想在一个数字的千位上加一个逗号。

String.Format()是正确的路径吗?我应该使用什么格式?


当前回答

例如String。格式(“{0时0}",1);返回01,对我来说无效

这对我很有用

19950000.ToString("#,#", CultureInfo.InvariantCulture));

输出 19950000年

其他回答

我不再担心文化和潜在的格式问题的方法是,我将其格式化为货币,然后去掉货币符号。

如果(小数。TryParse(tblCell, out result)

{
  formattedValue = result.ToString("C").Substring(1);
}

更简单,使用字符串插值代替字符串。格式

 $"{12456:n0}"; // 12,456
 $"{12456:n2}"; // 12,456.00

或者使用yourVariable

 double yourVariable = 12456.0;
 $"{yourVariable:n0}"; 
 $"{yourVariable:n2}"; 
String.Format("0,###.###"); also works with decimal places
$"{1234:n}";  // Output: 1,234.00
$"{1234:n0}"; // No digits after the decimal point. Output: 9,876

下面的示例显示了使用包含零占位符的自定义格式字符串格式化的几个值。

String.Format("{0:N1}", 29255.0);

Or

29255.0.ToString("N1")

结果“29255 .0

String.Format("{0:N2}", 29255.0);

Or

29255.0.ToString("N2")

结果“29255”