以下功能无效:
def myround(sfloat, dec):
print("{0:."+str(dec)+"f}") # only to show the string formed.
return ("{0:."+str(dec)+"f}".format(sfloat))
myround(2.35698, 2)
错误是:
{:.2f}
Traceback (most recent call last):
File "mytest.py", line 8, in <module>
myround(2.35698, 2)
File "mytest.py", line 6, in myround
return ("{0:."+str(dec)+"f}".format(sfloat))
ValueError: Single '}' encountered in format string
第一个打印功能显示正确的字符串:{:.2f}
。我试过了{0:.2f}
,但这也行不通。 \{
和\}
也不起作用。
问题在哪里以及如何解决?
答案 0 :(得分:2)
.
优先于+
。试试这个:("{0:."+str(dec)+"f}").format(sfloat)