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

Python浮点数占位符输出多余零的解决方法

解决Python价格格式化多余零的问题

你当前用%f格式化价格时,它默认会输出6位小数,所以整数2会变成2.000000(你看到的多出来的零是%f的默认行为导致的)。要只保留两位小数,有几种简单的修改方式:

方法1:修改旧式格式化占位符

直接把%f改成%.2f,指定保留两位小数,这是最贴合你现有代码的修改方式:

elif choice == "3":
    print("====================================\nPRINTING LIST...")
    for i in glist:
        print("%s              %.2f              %d" %(i["item"], i["price"], i["quant"]))

这样输入价格2时,就会输出2.00,输入3.5的话会输出3.50,完全符合你的需求。

方法2:使用str.format()方法(更灵活)

这是Python 2.6+支持的格式化方式,可读性更强,还能方便调整对齐:

elif choice == "3":
    print("====================================\nPRINTING LIST...")
    for i in glist:
        print("{:<20} {:<15.2f} {:<10d}".format(i["item"], i["price"], i["quant"]))

这里<20表示左对齐并占20个字符宽度,能让输出更整齐,避免手动加空格的混乱。

方法3:使用f-string(Python 3.6+,推荐)

这是目前最简洁直观的写法,语法更清晰:

elif choice == "3":
    print("====================================\nPRINTING LIST...")
    for i in glist:
        print(f"{i['item']:<20} {i['price']:<15.2f} {i['quant']:<10d}")

同样可以通过:<数字来控制对齐和宽度,让输出排版更美观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:55:30