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

Python中round(数值,3)保留3位小数仅显示1位的问题求助

问题原因排查
  • 最常见的原因是round()函数返回的浮点值会自动省略末尾无意义的0,比如数值本身为45.200时,round(45.200,3)的输出结果为45.2,打印时自然只会显示1位小数,并不是四舍五入逻辑失效。
  • 第二种可能是percentages_list中的数值本身精度就只有1位,比如你在计算百分比的步骤就已经做过一次保留1位小数的处理,后续再执行保留3位小数的操作也无法补全丢失的精度。
  • 第三种特殊情况是浮点精度误差,部分十进制小数无法用二进制浮点精确表示,可能导致round计算结果不符合预期。
解决方案

直接使用f-string内置的数值格式化语法强制保留3位小数即可,无需额外调用round函数,格式化语法会自动完成四舍五入+补全末尾零的操作,修正后的代码如下:

for y in range(len(candidates_list)):
    analysis.write(f"\n{candidates_list[y]}: {percentages_list[y]:.3f}% ({candidates_votes[y]})")

如果需要遍历的写法更简洁,也可以用zip同时遍历三个列表:

for candidate, percentage, votes in zip(candidates_list, percentages_list, candidates_votes):
    analysis.write(f"\n{candidate}: {percentage:.3f}% ({votes})")

内容的提问来源于stack exchange,提问作者Nazih B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:24:03