python怎么输出小数

Python输出小数主要通过格式化控制显示位数与四舍五入,推荐f-string(如f"{3.14159:.2f}"),其次format()和%格式化;格式化仅影响显示,不改变float固有精度,精确计算需用decimal模块。

Python 输出小数主要靠格式化控制,核心是决定**显示几位小数**以及**是否四舍五入**。默认情况下,Python 会按实际精度显示浮点数(可能很长),但日常使用中我们通常需要限制位数。

用 f-string 控制小数位数(推荐)

这是最简洁、最常用的方式,语法为 f"{数值:.Nf}",其中 N 是要保留的小数位数。

  • print(f"{3.14159:.2f}") → 输出 3.14
  • print(f"{10/3:.3f}") → 输出 3.333
  • print(f"{2.0:.4f}") → 输出 2.0000(自动补零)

用 format() 函数

功能和 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 模块