舍入到n个十进制问题

时间:2017-08-04 13:28:17

标签: python

我需要将5/7转换为20小数位 以下不起作用(似乎最大精度为15):

format(float(5)/float(7), '.%20f')输出为0.714285714285714301575

round(float(n)/float(d) * 10**20)/10**20输出为0.714285714286

我做错了什么? float的最大精度是多少?

1 个答案:

答案 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'
相关问题