title: Trying to format string giving argument is not IFormatable
body: <p>Here is my code:</p>
  
  <pre><code>receipt.AmountCharged = String.Format("{0:C}", recordPaymentRequest.Payment);
  </code></pre>
  
  <p>I am getting a message at "0:C" saying:</p>
  
  <blockquote>
    <p>formatting is specified but argument is not IFormatable</p>
  </blockquote>
  
  <p>If I try <code>.tostring("C")l</code> I get:</p>
  
  <blockquote>
    <p>error CS1502: The best overloaded method match for 'string.ToString(System.IFormatProvider)' has some invalid arguments
    error CS1503: Argument 1: cannot convert from 'string' to 'System.IFormatProvider'</p>
  </blockquote>
  
  <p>How do I convert this to currency or 2 decimals?</p>
  
  <p>And what does that iformatprovider mean?</p>
  
  <p>For clarification:</p>
  
  <pre><code>[DataContract]
  public class RecordPaymentRequest : TokenRequest {
  
      [DataMember]
      public string Payment {
          get { return payment; }
          set { payment = value; }
      }
  </code></pre>
  
  <p>Does that help?</p>