Python中round保留两位小数后输出无末尾零问题求助
问题解答
为什么round后打印只显示一位小数?
round(final_bill / int(number_of_people), 2) 确实把计算结果处理成了两位精度的数值(比如你案例里的33.60),但Python的浮点数在打印时会自动省略末尾无意义的0——因为33.6和33.60在数值上完全相等,Python默认会用最简洁的方式输出数值。
怎么实现强制显示两位小数?
你需要通过字符串格式化来控制输出格式,而非依赖数值本身的默认显示。把最后一行的print改成以下任意一种方式即可:
- 使用f-string(Python 3.6+推荐写法):
print(f"{per_person:.2f}")
- 使用
str.format()方法:
print("{0:.2f}".format(per_person))
- 使用旧式%格式化:
print("%.2f" % per_person)
这样无论末尾是否为0,都会强制显示两位小数,输入150和5时就会输出33.60。
内容的提问来源于stack exchange,提问作者merkogk
相关产品推荐
相关产品推荐

