在我的程序中,我将浮点数打印到文件中。这些数字的精度很高,所以小数点后面有很多位数,即数字0.0433896882981。如何减少打印到文件中的位数?所以我会打印,比方说,0.043而不是0.0433896882981。
答案 0 :(得分:11)
您可以使用基本字符串格式,例如:
>>> print '%.4f' % (2.2352341234)
2.2352
这里,%.4f
告诉Python将精度限制为四位小数。
答案 1 :(得分:8)
你没有说出哪个版本,或者你是怎么做的,所以我假设你是3.x。
str.format("{0:.3f}", pi) # use 3 digits of precision and float-formatting.
格式说明符通常如下所示:
[[填补]对准] [符号] [#] [0] [最小宽度] [精度] [类型]
其他例子:
>>> str.format("{0:" ">10.5f}", 3.14159265)
' 3.14159'
>>> str.format("{0:0>10.5f}", 3.14159265)
'0003.14159'
>>> str.format("{0:<10.5f}", 3.14159265)
'3.14159 '
答案 2 :(得分:3)
可以使用以下格式指令指定小数点后的位数:
In [15]: n = 0.0433896882981
In [16]: print '%.3f' % n
产生:
0.043
% f
部分表示您正在打印带小数点的数字,.3
小数点后的位数。
其他例子:
In [17]: print '%.1f' % n
0.0
In [18]: print '%.2f' % n
0.04
In [19]: print '%.4f' % n
0.0434
In [20]: print '%.5f' % n
0.04339