擅长:python、mysql、java
<p>如果你只需要控制格式的精度</p>
<pre><code>pi = 3.14159265
format(pi, '.3f') #print 3.142 # 3 precision after the decimal point
format(pi, '.1f') #print 3.1
format(pi, '.10f') #print 3.1415926500, more precision than the original
</code></pre>
<p>如果需要控制浮点运算的精度</p>
<pre><code>import decimal
decimal.getcontext().prec=4 #4 precision in total
pi = decimal.Decimal(3.14159265)
pi**2 #print Decimal('9.870') whereas '3.142 squared' would be off
</code></pre>
<p>--编辑--</p>
<p>没有“舍入”,因此截断数字</p>
<pre><code>import decimal
from decimal import ROUND_DOWN
decimal.getcontext().prec=4
pi*1 #print Decimal('3.142')
decimal.getcontext().rounding = ROUND_DOWN
pi*1 #print Decimal('3.141')
</code></pre>