title: How to format a string as a telephone number in C#
body: <p>I have a string "1112224444' it is a telephone number. I want to format as 111-222-4444 before I store it in a file. It is on a datarecord and I would prefer to be able to do this without assigning a new variable.</p>
  
  <p>I was thinking:</p>
  
  <pre><code>String.Format("{0:###-###-####}", i["MyPhone"].ToString() );
  </code></pre>
  
  <p>but that does not seem to do the trick.</p>
  
  <p>** UPDATE **</p>
  
  <p>Ok. I went with this solution</p>
  
  <pre><code>Convert.ToInt64(i["Customer Phone"]).ToString("###-###-#### ####")
  </code></pre>
  
  <p>Now its gets messed up when the extension is less than 4 digits. It will fill in the numbers from the right. so</p>
  
  <pre><code>1112224444 333  becomes
  
  11-221-244 3334
  </code></pre>
  
  <p>Any ideas?</p>