用 f 字符串舍入浮点数 [重复]
Posted
技术标签:
【中文标题】用 f 字符串舍入浮点数 [重复]【英文标题】:Rounding floats with f-string [duplicate] 【发布时间】:2018-02-14 04:05:43 【问题描述】:使用 %-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)
【参考方案1】:
这个怎么样
x = 3.14159265
print(f'pi = x:.2f')
Docs for f-strings
【讨论】:
是否需要.2f
?它似乎只适用于.2
。
@101 是的,这是必要的。使用.2
不会给你预期的价值!它将使用科学记数法向下舍入到总共 2 位,并且仅适用于浮点数而不是整数以上是关于用 f 字符串舍入浮点数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章