2011-04-29 37 views
0

呃,所以我之前遇到过这个问题。我想做这个。string.format对字符串不起作用

PhoneNumber = String.Format("{0:(###) ###-####}", compView.PHONE_NUMBER), 

但是! compView.PHONE_NUMBER已经是一个字符串:(所以它不起作用。我的第一个想法是创建一个扩展方法,但后来我想也许我会把它发布给人们,看看社区中有人有没有更好的建议。

感谢

+0

'compView.PHONE_NUMBER'的价值是什么? – BoltClock 2011-04-29 19:39:44

+0

是的,在我接受答案之前,我尝试了第一个建议。 – Kenn 2011-04-29 20:25:29

回答

3

如果你的电话号码是一个字符串,你可以试试

PhoneNumber = string.Format("({0}) {1}-{2}", 
        compView.PHONE_NUMBER.Substring(0, 3), 
        compView.PHONE_NUMBER.Substring(3, 3), 
        compView.PHONE_NUMBER.Substring(6, 4)); 
2

转换它第一次那么,如果它只是一个一个数的字符串:!?

PhoneNumber = String.Format("{0:(###) ###-####}", Convert.ToInt64(compView.PHONE_NUMBER)); 

而且在结尾有一个逗号,没有你的意思是有一个分号

+0

他可以在一个语句中初始化多个变量,因此是逗号。 – BoltClock 2011-04-29 19:40:52

+0

Truf。只是好奇。 – slandau 2011-04-29 19:41:15

+0

约定为: NPA-NXX-XXXX NPA是号码计划区域。区号。第一个数字始终是2到9 NXX是中心办公室。第一个数字总是2-9 XXXX可以是任何数字 - 所以除非它是一个无效的数字,但他应该在他的应用程序的其他地方检查有效性 – slandau 2011-04-29 19:48:16