1. 基本浮点数格式化 (f/F)
使用f
或F
类型固定小数位数:
# 保留2位小数
num = 3.1415926
print("PI: {:.2f}".format(num)) # 输出: PI: 3.14
# 保留4位小数
print("精确值: {:.4f}".format(2.71828)) # 输出: 精确值: 2.7183
注意:小数位数不足时会自动补零。
全面指南:掌握使用Python format函数格式化浮点数的多种方法
在数据处理、科学计算和财务应用中,控制小数位数是常见的需求:
Python的format函数提供了灵活的方式来控制数字的显示格式。
format函数格式化数字的基本语法:
{value:format_spec}
其中format_spec可以包含以下组成部分:
[[fill]align][sign][#][0][width][,][.precision][type]
对于小数位控制,最重要的是.precision和type部分。
使用f
或F
类型固定小数位数:
# 保留2位小数
num = 3.1415926
print("PI: {:.2f}".format(num)) # 输出: PI: 3.14
# 保留4位小数
print("精确值: {:.4f}".format(2.71828)) # 输出: 精确值: 2.7183
注意:小数位数不足时会自动补零。
使用%
类型将小数转换为百分比:
ratio = 0.7523
print("占比: {:.1%}".format(ratio)) # 输出: 占比: 75.2%
print("精确占比: {:.3%}".format(0.1234)) # 输出: 精确占比: 12.340%
百分比格式会自动将数字乘以100并添加%符号。
使用e
或E
类型表示科学计数法:
large_num = 123456789.0
print("科学计数: {:.3e}".format(large_num)) # 输出: 科学计数: 1.235e+08
small_num = 0.000012345
print("微小数值: {:.4E}".format(small_num)) # 输出: 微小数值: 1.2345E-05
g
格式会根据数字大小自动选择固定点或科学计数法:
print("{:.5g}".format(123.456789)) # 输出: 123.46
print("{:.5g}".format(123456.789)) # 输出: 1.2346e+05
print("{:.3g}".format(0.000012345)) # 输出: 1.23e-05
g
格式会移除末尾多余的零,但会保留指定位数的有效数字。
# 右对齐,宽度10,保留3位小数
print("|{:>10.3f}|".format(3.14159)) # 输出: | 3.142|
# 左对齐,宽度8,填充*
print("|{:*<8.2f}|".format(10.5)) # 输出: |10.50***|
# 居中对齐,宽度12
print("|{:^12.4f}|".format(25.75)) # 输出: | 25.7500 |
large_number = 1234567.89123
print("千位分隔: {:,.2f}".format(large_number)) # 输出: 千位分隔: 1,234,567.89
# 组合使用
print("|{:>20,.3f}|".format(large_number))
# 输出: | 1,234,567.891|
# 同时格式化多个数值
a, b, c = 12.3456, 0.789, 1234.5678
result = "结果: A={:.2f}, B={:.1%}, C={:,.0f}".format(a, b, c)
print(result)
# 输出: 结果: A=12.35, B=78.9%, C=1,235
Python使用"round half to even"(银行家舍入法):
print("{:.1f}".format(2.25)) # 输出: 2.2
print("{:.1f}".format(2.35)) # 输出: 2.4
print("{:.0f}".format(1.5)) # 输出: 2
print("{:.0f}".format(2.5)) # 输出: 2
这种舍入方式能减少统计偏差。
f"{num:.2f}"
round()
函数会改变数值,而format只改变显示尝试格式化以下数据:
数值: 12345.6789
要求: 添加千分位,保留2位小数
数值: 0.34567
要求: 显示为百分比,保留1位小数
数值: 0.000004321
要求: 科学计数法,保留3位有效数字
参考答案可在Python解释器中验证
本文由YanYongPeng于2025-08-06发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://521pj.cn/20257469.html
发表评论