【问题标题】:Formatting in a code constantly causes the ValueError: Unknown format code 'f' for object of type 'str'?代码中的格式不断导致ValueError:“str”类型的对象的未知格式代码“f”?
【发布时间】:2020-07-26 19:11:00
【问题描述】:

好的,我几乎得到了标题中描述的错误。我知道这是代码的格式问题,但就解决它而言。所有关于如何解决这个问题的事情都被证明是毫无用处的。此外,如果提供有关此事的任何上下文,则此代码用于我的作业。代码的内容基于账单,因为该程序的目的是用于小费计算器。我希望这为这件事提供了背景。另外,我对 Python 还是比较陌生。

无论如何,为了更好地展示代码是什么。这是导致此问题的代码:

print("\n\tBill Amount: ${0:.02f}%".format((meal))), "\n\tTip Suggested: ${0:0.2f}%".format((calculatedTip)), "\n\tTotal Bill ${0:.2f}%".format((total))

我尝试将 .02 之后的“f”更改为“d”,看看是否有帮助。我尝试添加括号以查看这是否会影响更改,但所有这些努力都毫无意义,因为无论更改如何都会显示错误。

我的主要问题是如何解决此错误?无论如何,对于正在阅读本文的人。我希望你有一个惊人的休息一天cya!

【问题讨论】:

  • 其中一个变量似乎包含一个字符串而不是一个数字。
  • 检查 type(...) 是否有字符串 - 其中一个变量是字符串而不是浮点数。否则,code works for me
  • 所以代码是一个更大的部分,但我没有发布,因为我认为没有必要,但这有助于解决这个问题吗?因为所有的变量都定义在不同的函数中。如果你愿意,我可以发布。

标签: python string-formatting valueerror


【解决方案1】:

试试这个

print("\n\tBill Amount: ${0:.02f}%".format(float(meal)), "\n\tTip Suggested: ${0:0.2f}%".format(float(calculatedTip)), "\n\tTotal Bill ${0:.2f}%".format(float(total)))

如果所有都是数字,即使数字是字符串格式,这也会起作用。否则会抛出ValueError

【讨论】:

  • 成功了!谢谢你!无论如何,我祝你有一个美好的一天!
  • 我完全不知道为什么会这样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-20
相关资源
最近更新 更多