我一直在python中搜索一个只能在十进制数字逗号右边的4位数,但我找不到的方法。看看这篇文章,---> Rounding decimals with new Python format function ,但写在那里的功能...
>>> n = 4
>>> p = math.pi
>>> '{0:.{1}f}'.format(p, n)
'3.1416'
......似乎在我的情况下不起作用。
我导入了模块“math”和“decimal”,但也许我错过了其他一些导入,但我不知道要导入哪些。
谢谢大家,如果此问题已经发布,请对不起。
PEIXE
答案 0 :(得分:7)
"%.3f" % math.pi
我知道它使用旧语法,但我个人更喜欢它。
答案 1 :(得分:2)
你所拥有的一切都很好(将5加到6)
如果你想要截断而不是舍入,你可以去:
from math import pi as p
print p
print int(p*10**4)/10.0**4
p=str(p).split(".")
p[1]=p[1][:4]
print ".".join(p)
输出:
3.14159265359
3.1415
3.1415
答案 2 :(得分:1)
如果您只想要浮点数的余数,则可以转换为字符串并在'.'
上拆分:
>>> str(math.pi).split('.')[1][:4]
<<< '1415'
或decimal.Decimal
:
>>> Decimal(math.pi).as_tuple()[1][1:5]
<<< (1, 4, 1, 5)