对电话号码

时间:2015-09-21 11:25:56

标签: c#

更新(已解决):https://dotnetfiddle.net/6GEJyO

我使用以下代码在各种格式的循环中格式化电话号码:

string PhoneNumber = "9998675309"
String.Format("{0:" + formatString + "}", Convert.ToDouble(PhoneNumber))

我需要以两种稍微不同的方式格式化电话号码。一个出现了我的预期而另一个没有。

所以,好奇,我决定做一个快速的控制台应用程序,看看我能想到的所有不同的电话号码格式化可能性。结果如下:

http://i.imgur.com/PfKlZfM.png

我的问题是:为什么其中一些出现的格式是他们看起来应该的样子而其他人没有?是否有某些需要的转义字符?

1 个答案:

答案 0 :(得分:5)

"."在格式字符串中具有特殊含义。确定结果字符串中小数分隔符的位置。所以你必须逃避"."

string formatString = "###-###\\.####";

在格式字符串中使用"."的一些示例:

// the result is "3.40"
(3.4).ToString("#.00", CultureInfo.GetCultureInfo("en-US"))

// the result is "3,142"
(3.141592).ToString("#.000", CultureInfo.GetCultureInfo("nl-NL"))