打印实数时如何实现小数点对齐且固定保留指定小数位数
解决方案
直接使用f-string的格式说明符即可实现需求,不需要手动处理取整、补位逻辑,Python内置的格式化语法会自动完成四舍五入、小数位数固定、小数点对齐的操作。
因为你的温度取值范围是0~30,整数部分最多2位,搭配2位小数的要求,单个数值的总输出宽度设为5即可完美对齐:
# 格式规则说明:{变量:总宽度.小数位数f} a = 7.561 s = 20 print(f"a = {a:5.2f}, s = {s:5.2f}") a = 21.034 s = 20 print(f"a = {a:5.2f}, s = {s:5.2f}") a = 20.006 s = 20 print(f"a = {a:5.2f}, s = {s:5.2f}") a = 1.1 s = 5 print(f"a = {a:5.2f}, s = {s:5.2f}")
运行输出结果和你给出的示例完全一致:
a = 7.56, s = 20.00 a = 21.03, s = 20.00 a = 20.01, s = 20.00 a = 1.10, s = 5.00
格式规则说明
:.2f表示将数值格式化为浮点型,自动四舍五入保留2位小数- 前面的数字
5表示输出的总字符宽度,不够时左侧自动补空格,因为0~30的数值保留2位小数后最多占5个字符(如30.00),所以设置总宽度为5即可保证所有数值的小数点位置完全对齐。
如果后续数值范围扩大到0~100,把总宽度改为6即可适配。
内容的提问来源于stack exchange,提问作者texnic
相关产品推荐
相关产品推荐

