You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中printf风格格式化未返回预期结果,求问题排查

问题出在格式化符的选择上!

嘿,我来帮你揪出问题所在~

你写的%.2d里,d是专门用来格式化整数的格式说明符,它会直接舍弃浮点数的小数部分,只保留整数部分,所以才会输出121而不是你想要的两位小数结果。

要实现保留两位小数的需求,你需要把格式符换成%.2f——这里的f是浮点数格式化符,它会帮你保留指定的小数位数(还会自动四舍五入哦)。

修正后的代码应该是这样:

x = 121.37890
print("The variable x has the value %.2f, which is surprising" % x)

执行这段代码后,就会输出:The variable x has the value 121.38, which is surprising

另外,如果你用的是Python 3.6及以上版本,更推荐用更简洁直观的f-string写法:

x = 121.37890
print(f"The variable x has the value {x:.2f}, which is surprising")

效果是一样的,代码可读性更高~

内容的提问来源于stack exchange,提问作者user8270077

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:34:54