无法找到导致数字格式化的“KeyError”的语法问题。

时间:2017-06-20 03:21:21

标签: python-3.x

我正在编写一段代码,说明这应该适用于Python 3:

confirm_login_allowed

其中:   t是一个浮子,   宽度是整数,   精度是整数

我不断收到此错误消息:

  

返回“{0:。{?} f}”。format(t,precision).center(width)   KeyError:'?'

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:3)

而不是:

"{0:.{?}f}".format(t, precision).center(width)

尝试:

"{0:.{1}f}".format(t, precision).center(width)

只需将?更改为1,因为内括号内部的内容用作键或索引。

(简化)示例

.center()只会为双方创建一些填充,我在这里忽略它。

"{0:.{1}f}".format(14.6, 10)
# Outputs: '14.6000000000'

#Be careful with floating point, though
"{0:.{1}f}".format(14.6, 50)
#'14.59999999999999964472863211994990706443786621093750'