好的,请耐心等待,我对此完全陌生。这是针对学校的,对于我的作业,确切的语法并不重要,但是就我个人的知识而言,我想更多地了解字符串格式。
每当我使用%f时,默认为2位小数。是否有一个字符串格式,我可以在浮点数上使用,它将显示浮点数实际上具有的小数位数?
例如我的列表包含2.0,2.01,2.001,2.0001,我想使用字符串格式来打印它们。我会使用哪种格式代码,或者如果可能,我如何正确使用%f?
这是在Windows 7上的Python 2.7中(如果重要的话)。
答案 0 :(得分:0)
如果您将浮点数转换为字符串,那么当您打印它时,它将与您编写时一样显示。
>>> x = str(2.0)
>>> print(x)
2.0
>>> x = str(2.01)
>>> print(x)
2.01
>>> x = str(2.001)
>>> print(x)
2.001
>>> x = str(2.0001)
>>> print(x)
2.0001
(事实上,准确地说,在Python中你实际上并没有转换浮点对象,而是创建一个看起来像它的字符串对象。但这有点超出了你的问题的范围。)
<强>更新强>
有人发布了一种方法,使用Decimal类从浮点数中删除尾随零,在这里:Removing Trailing Zeros in Python
答案 1 :(得分:0)
%g
可能是您正在寻找的内容:
>>> "%g, %g, %g, %g" % (2.1, 2.01, 2.001, 2.0001)
'2.1, 2.01, 2.001, 2.0001'