String.Format C#间隔每1000个数字

时间:2012-11-02 12:53:24

标签: c# asp.net string-formatting

  

可能重复:
  Use a custom thousand separator in C#

我想要一个字符串格式来格式化我的数字:

Input: 1000 Ouput: 1 000.00
Input: 10000 Output: 10 000.00 
Input: 100000 Output: 100 000.00

5 个答案:

答案 0 :(得分:4)

完全按照您的工作需要,不需要额外的格式化

String.Format("{0:# ###.00}", 40000);
output - "40 000.00"
String.Format("{0:# ###.00}", 400000);
output - "400 000.00"
String.Format("{0:# ###.00}", 4000);
output - "4 000.00"

检查Blogpost:Format Number To Display

答案 1 :(得分:2)

这将有效

String.Format("{0:### ### ### ###.##}", 10000.00)

<强>结果:

"  10 000.00"

您需要修剪结果以删除多余的空格

答案 2 :(得分:1)

您可以使用NumberFormatInfo课程执行此操作。看一下示例代码。

NumberFormatInfo numberFormatInfo = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();          
numberFormatInfo.NumberGroupSeparator = " ";

int a = 1000;

Console.WriteLine(a.ToString("n", numberFormatInfo)); // 1 000.00

答案 3 :(得分:0)

在这里你去找朋友:

var formatInfo = new NumberFormatInfo();
formatInfo.CurrencyGroupSeparator = " ";
formatInfo.CurrencySymbol = string.Empty;

Console.WriteLine(1000.ToString("C", formatInfo));
Console.WriteLine(10000.ToString("C", formatInfo));
Console.WriteLine(100000.ToString("C", formatInfo));

答案 4 :(得分:-1)

提供输入是您可以使用的整数。

input.ToString("F");
编辑:我的不好,没有看到格式中的空格,认为它只是小数值

另一种快速方式,可能不是最好的方法,是将其转换为货币字符串并删除前面的货币符号,并将“,”替换为“。”

e.g。

input.ToString( "C" );
input.Replace( "," , "." );
input.Remove( 0, 1 ); //or the amount of characters in currency symbol if more than one