Python输出小数主要通过格式化控制显示位数与四舍五入,推荐f-string(如f"{3.14159:.2f}"),其次format()和%格式化;格式化仅影响显示,不改变float固有精度,精确计算需用decimal模块。
Python 输出小数主要靠格式化控制,核心是决定**显示几位小数**以及**是否四舍五入**。默认情况下,Python 会按实际精度显示浮点数(可能很长),但日常使用中我们通常需要限制位数。
这是最简洁、最常用的方式,语法为 f"{数值:.Nf}",其中 N 是要保留的小数位数。
print(f"{3.14159:.2f}") → 输出 3.14
print(f"{10/3:.3f}") → 输出 3.333
print(f"{2.0:.4f}") → 输出 2.0000(自动补零)功能和 f-string 类似,适合较老版本 Python 或动态格式场景:
print("{:
.2f}".format(3.14159)) → 3.14
print("结果:{:.3f}".format(7/9)) → 结果:0.778
兼容性好,但可读性较差:
print("%.2f" % 3.14159) → 3.14
print("值为 %.3f" % (5/6)) → 值为 0.833
Python 的 float 是二进制浮点数,本身存在精度限制。格式化只影响**显示效果**,不改变底层值:
x = 0.1 + 0.2 → 实际值是 0.30000000000000004
print(f"{x:.1f}") → 显示 0.3(看起来正常,但计算仍按原值进行)decimal 模块