如何使用python获得具有所需精度的浮点数

Emm*_*mma 3 python

例如,我想从e(2.71从2.718281828 ...)得到一个最初3位数的浮点数,是否有任何我可以使用的功能?我尝试了round(),math.floor()和Decimal(1).exp()和getcontext().prec = 1,但是没有一个给我我想要的东西(round()给了我2.72,math.floor ()2和十进制(1).exp也是2.72)我不想把浮点数弄圆.

提前致谢.

Ama*_*dan 7

round(x - 0.005, 2)
# => 2.71
math.floor(x * 100) / 100
# => 2.71
Run Code Online (Sandbox Code Playgroud)


Col*_*lin 5

>>> from decimal import Decimal, ROUND_DOWN
>>> from math import e
>>> print Decimal(e).quantize(Decimal('.01'), rounding=ROUND_DOWN)
2.71
Run Code Online (Sandbox Code Playgroud)