【问题标题】:Rounding floats with f-string [duplicate]用 f 字符串舍入浮点数 [重复]
【发布时间】:2023-03-05 22:58:01
【问题描述】:

使用 %-formatting,我可以指定字符串中的小数位数:

x = 3.14159265
print('pi = %0.2f' %x)

这会给我:

pi = 3.14

有没有办法在 Python 3.6 中使用 f-strings 来做到这一点?

【问题讨论】:

  • 要清楚,您只是在询问最近舍入(如%f 所做的),而不是向下舍入/截断(如int())、向上舍入、舍入-向零,向无穷大或任何其他方案?如果只是四舍五入,那么这是重复的(抄送:@vaultah)
  • 但无论哪种方式,这个标题 "Rounding floats with f-string" 和标记 python-3.6 更好、更清晰、措辞、清晰和更好的搜索关键字覆盖或重复比“将浮点数转换为一定精度,然后复制到字符串”。所以我们绝对应该离开这个展台,关闭但不删除(抄送:@vaultah)

标签: python python-3.6


【解决方案1】:

这个怎么样

x = 3.14159265
print(f'pi = {x:.2f}')

Docs for f-strings

【讨论】:

  • 是否需要.2f?它似乎只适用于.2
  • @101 是的,这是必要的。使用.2 不会给你预期的价值!它将使用科学记数法向下舍入到总共 2 位,并且仅适用于浮点数而不是整数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-06
  • 1970-01-01
  • 2015-12-19
  • 2011-08-25
相关资源
最近更新 更多