擅长:python、mysql、java
<p>真正的解决方案是format(),在Python2.6和3.1中可用。在</p>
<p><code>format(c,"f")</code>将十进制转换为float repr样式的输出。这是python中新样式格式的一部分。在</p>
<p>其他更糟糕的解决方案如下:</p>
<p>这可以通过一个格式字符串来完成,就像您的十进制值是浮点值一样。
<code>print "%0.9f" % c</code>将生成“0.000000538”</p>
<p><a href="http://docs.python.org/library/stdtypes.html#typesseq-strings" rel="nofollow">python library reference</a>可以告诉你更多。在</p>
<p>为了解决需要知道小数位数正确的问题,您可以在浮点精度的限制下打印出来,条件是小数点较小:</p>
<pre><code>out = "%.16f" % c if c >= 1e-16 else "0.0"
print out.rstrip('0')
</code></pre>
<p>第二行处理后面的0</p>