6

在我的程序中,我将浮点数打印到文件中。这些数字的精度很高,所以小数点后的位数很多,即数字0.0433896882981。如何减少打印到文件中的位数?所以我会打印 0.043 而不是 0.0433896882981。

4

3 回答 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 回答