在我的程序中,我将浮点数打印到文件中。这些数字的精度很高,所以小数点后的位数很多,即数字0.0433896882981。如何减少打印到文件中的位数?所以我会打印 0.043 而不是 0.0433896882981。
问问题
35478 次
3 回答
13
您可以使用基本的字符串格式,例如:
>>> print '%.4f' % (2.2352341234)
2.2352
在这里,%.4f
告诉 Python 将精度限制为小数点后四位。
于 2012-05-04T20:13:13.297 回答
8
你没有说哪个版本,或者你是怎么做的,所以我假设是 3.x。
str.format("{0:.3f}", pi) # use 3 digits of precision and float-formatting.
格式说明符通常如下所示:
[[fill]align][sign][#][0][minimumwidth][.precision][type]
其他示例:
>>> 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 '
于 2012-05-04T20:14:31.877 回答
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
于 2012-05-04T20:13:30.827 回答