如何在c#中格式化1700到1’700和1000000到1’000’000?

我喜欢格式化数学中的所有数字。 是否有预定义的函数或者是否可以使用子字符串和替换?

编辑:我的文化是de-ch

最好的祝福

试试这个

int input = Convert.ToInt32("1700"); string result = String.Format("{0:##,##}", input); 

或这个

 Console.WriteLine(1700.ToString("##,##", new NumberFormatInfo() { NumberGroupSeparator = "'" })); 
 var numformat = new NumberFormatInfo { NumberGroupSeparator = "'", NumberGroupSizes = new int[] { 3 }, NumberDecimalSeparator = "." }; Console.WriteLine(1000000.ToString("N",numformat)); 

试试这个:

 Console.WriteLine(1000000.ToString("#,##0").Replace( CultureInfo.CurrentCulture.NumberFormat.NumberGroupSeparator, "'")); 

要么

 NumberFormatInfo likeInMath = new NumberFormatInfo() { NumberGroupSeparator = "'" }; Console.WriteLine(1000000.ToString("#,##0", likeInMath)); 

使用int.ToString()和iFormatProvider 。

另外看看这里的msdn。

我总是使用这种格式

  "#,##0;#,##0'-';0" 

所以你可以使用它

  int input = Convert.ToInt32("100000000"); string result = String.Format("{#,##0;#,##0'-';0}", input);