title: Format python decimal as [-.0-9]*, no trailing zeros, value-preserving
body: <p>I'm looking for a method which takes a decimal.Decimal object <code>x</code> and returns a string <code>s</code>, such that:</p>
  
  <ul>
  <li><code>x == Decimal(s)</code></li>
  <li><code>re.match("^-?(0|[1-9][0-9]*)(.[0-9]*[1-9])?$", s) is not None</code></li>
  <li><code>s != '-0'</code></li>
  </ul>
  
  <p>In other words, the method doesn't change the value of the Decimal object; it returns a string representation which is never in scientific notation (e.g. <code>1e80</code>), and never has any trailing zeros.</p>
  
  <p>I would assume there is a standard library function which lets me do that, but I haven't found any.  Do you know of any?</p>