Python 3.3.5浮点格式精度

时间:2015-12-03 16:34:25

标签: python python-3.x floating-point format precision

>>> '{:0.10}'.format(1/3)
'0.3333333333'
>>> '{:0.10}'.format(100/3)
'33.33333333'

第一个给出小数点后10位数,第二个给出8位数。 “精确度”是指总数吗?如何仅控制小数点后的有效数字?

1 个答案:

答案 0 :(得分:5)

您需要包含类型f(浮点数)来控制小数位后的位数:

>>> '{:.10f}'.format(100/3)
'33.3333333333'

如果不指定类型,Python将回退到常规数字类型,并将数字四舍五入到指定的有效位数。来自documentation

  

精度是一个十进制数,表示在用'f'和'F'格式化的浮点值的小数点后面应显示多少位数,或者用''格式化的浮点值的小数点前后g'或'G'。