我需要将5/7
转换为20
小数位
以下不起作用(似乎最大精度为15):
format(float(5)/float(7), '.%20f')
输出为0.714285714285714301575
round(float(n)/float(d) * 10**20)/10**20
输出为0.714285714286
我做错了什么? float的最大精度是多少?
答案 0 :(得分:1)
像我一样为我工作
对于Python 3.X
>>> '{:.9f}'.format(8/3)
'2.666666667'
>>> '{:.15f}'.format(8/3)
'2.666666666666667'
>>> '{:.20f}'.format(8/3)
'2.66666666666666651864'
适用于Python 2.X
>>> '{:.20f}'.format(8.0/3)
'2.66666666666666651864'
>>> '{:.20f}'.format(8/3.0)
'2.66666666666666651864'
>>> '{:.20f}'.format(float(8)/3)
'2.66666666666666651864'
>>> '{:.20f}'.format(8/float(3))
'2.66666666666666651864'