C# 将一串零格式化为电话号码
问题。C# 将一串零格式化为电话号码,c#,C#,问题。 我需要将字符串格式化为电话号码。我正在使用这个函数 Convert.ToInt64(Number).ToString("###-###-####") 除非我有0000000000,否则都是零 关于如何将所有零格式化为“#####-##-##-##-##”简短的回答是: .ToString("000-000-0000"); 如果缺少数字,则使用0而不是#作为占位符将包括零 但较长的答案是,转换手机真的没有意义 正是因为前导零,才将数字从字符串改为第一位的数字。这同样适用于许多
我需要将字符串格式化为电话号码。我正在使用这个函数
Convert.ToInt64(Number).ToString("###-###-####")
除非我有0000000000,否则都是零
关于如何将所有零格式化为“#####-##-##-##-##”简短的回答是:
.ToString("000-000-0000");
如果缺少数字,则使用0而不是#作为占位符将包括零
但较长的答案是,转换手机真的没有意义
正是因为前导零,才将数字从字符串改为第一位的数字。这同样适用于许多其他“数字”,它们不是真正的数字,而是代码。比如说邮政编码
如果Number
是一个字符串,并且来自用户输入,那么用户可能已经插入了-
。甚至括号。因此,您可能从一开始就以完全错误的方式处理此问题
更好的解决方案是使用正则表达式从字符串中提取数字并格式化。为此,请参见:
例如。如果有任何前导零,是否会发生这种情况?还有,为什么您需要将所有0格式化为一个电话号码?您有
0000000000
作为电话号码?因为缺乏研究,所以减去1。这个问题或类似的问题已经被问了无数次。我可能会跳过对long
的转换,改为格式化字符串。.ToString(“000-000-0000”)代码>使用0
而不是#
作为占位符,如果数字缺失,占位符将包含零。但是,由于前导零的原因,将电话号码转换成一个号码是没有意义的。