【问题标题】:Python Floating Point RoundingPython浮点舍入
【发布时间】:2014-10-17 01:24:16
【问题描述】:

试图找出正确的舍入技术:

v = float(input("Enter V: "))

print ("V is %.3f" % str(round(v,3)))

我哪里错了?

【问题讨论】:

  • 第一行缺少右括号/括号。
  • 在您的第二行中,您不应该转换为字符串。此外,您拥有的格式说明符将显示处理为小数点后 3 位数字,因此不需要调用 round()
  • 谢谢大家。是的,这不是我的实际程序,我只是举个例子。我看到我错过了一个右括号,但我现在可以按我的意愿工作了。
  • 编辑并修复了缺失的括号,因为它不是问题的主题,也不应该激起关于实际问题的讨论。

标签: python rounding python-3.4


【解决方案1】:
str(round(v,3)

是这里的问题,把str去掉就行了

你改成字符串,这是错误的

【讨论】:

    【解决方案2】:

    使用str 将浮点数转换为字符串。删除str:

    print ("V is %.3f" % round(v, 3))
    

    更新
    正如 Barnie 在上面的评论中建议的那样:由于您使用 %.3f 进行打印,因此无需四舍五入,因此您做得更好:

    print ("V is %.3f" % v)
    

    【讨论】:

      猜你喜欢
      • 2013-02-17
      • 1970-01-01
      • 2022-12-07
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多