String.Format不格式化电话号码

pat*_*tel 3 c# asp.net string-formatting

String.Format("{0:###-###-####}", customer.ContactHome); //NOT working (9891205789)
Run Code Online (Sandbox Code Playgroud)

String.Format("{0:###-###-####}", Convert.ToInt64(customer.ContactHome)); //Works fine (989-120-5789)
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我不想投电话.如果不进行投射,我怎么能格式化手机?

ari*_*iel 7

如果customer.ContactHome是字符串,你可以这样做:

Regex.Replace(customer.ContactHome, "(\d\d\d)(\d\d\d)(\d\d\d\d)", "$1-$2-$3");
Run Code Online (Sandbox Code Playgroud)

要么

customer.ContactHome.Substring(0,3) + "-" +
customer.ContactHome.Substring(3,3) + "-" + 
customer.ContactHome.Substring(6,4);
Run Code Online (Sandbox Code Playgroud)


JPB*_*anc 5

"{0:###-###-####}"在字符串上使用数字格式化(),customer.ContactHome这就是为什么它不起作用.