And*_*ett 5 python format floating-point precision python-3.x
>>> '{:0.10}'.format(1/3)
'0.3333333333'
>>> '{:0.10}'.format(100/3)
'33.33333333'
Run Code Online (Sandbox Code Playgroud)
第一个给出小数点后的10位数,第二个给出8."精度"是指总数吗?如何仅控制小数点后的有效数字?
您需要包含类型f(用于浮点数)来控制小数位后的位数:
>>> '{:.10f}'.format(100/3)
'33.3333333333'
Run Code Online (Sandbox Code Playgroud)
如果不指定类型,Python将回退到常规数字类型,并将数字四舍五入到指定的有效位数.从文档:
精度是一个十进制数,表示在用'f'和'F'格式化的浮点值的小数点后面应显示多少位数,或者用'g'格式化浮点值的小数点前后'G'.