按周期将字符串格式化为3位数的组

时间:2011-11-17 18:04:34

标签: c# asp.net .net

我知道我可以使用String.Format()方法格式化字符串。是否可以像这样格式化?

示例:

  

字符串:1568
     格式:1.568

     

string:168794521
     格式:168.794.521

     

字符串:987
     格式:987

很抱歉,我无法让自己更清楚。

3 个答案:

答案 0 :(得分:9)

您可以通过这种方式格式化数字,但不能格式化字符串。例如,如果您有一个整数值,则可以使用:

int value = 168794521;
string formatted = value.ToString("N0");

使用适当的文化,格式如图所示。

如果您使用的是字符串,则需要转换它。您还可以明确提供一种文化来保证“。”作为千元分隔符:

int value = Int32.Parse("168794521");
string formatted = value.ToString("N0", new CultureInfo("de-DE"));

答案 1 :(得分:5)

string someNumericValue = "168794521";
int number = int.Parse(someNumericValue); // error checking might be appropriate
value.ToString("0,0", CultureInfo.CreateSpecificCulture("el-GR"));

这将为千位说明者提供点数。

如果你想要这个,你的文化可能已经这样做了。

答案 2 :(得分:-1)

是的,你可以这样做。 SteveX has written a great blog post on string formatting。您还可以查看this blog postMSDN documentation

您可能希望在“更多资源”部分中查看本文档的底部,以获取有关不同类型的标准格式字符串的更多信息。

以下是SteveX博客中关于格式化数字的相关部分:

  • 货币{0:c}
  • 十进制(整数){0:d}
  • 科学{0:e}
  • 固定点{0:f}
  • 一般{0:g}
  • 数字为{0:n}
  • 的逗号