python三种保留两位小数方法汇总

1.’%.2f’%f

该方法会进行四舍五入
代码如下所示:

f = 2.3456789

print('%.2f'%f)
print('%.3f'%f)
print('%.4f'%f)

结果如下所示

2.35
2.346
2.3457

2.format函数

该方法也会进行四舍五入
代码如下所示:

f = 2.3456789

print('{:.2f}'.format(f))
print('{:.3f}'.format(f))
print('{:.4f}'.format(f))

结果如下图所示

2.35
2.346
2.3457

3.round函数(不推荐使用)

round函数带有一点点的小坑,不是很推荐使用
round函数的进位规则一般为’四舍六入五凑偶’
代码如下图所示:

print(round(2.25,1))
print(round(2.35,1))
print(round(2.125,2))
print(round(2.875,2))

结果如下图所示:

2.2
2.4
2.12
2.88

这与我们的结论没有出入,但我们换一下数据,再看一下结果

print(round(2.335,2))
print(round(2.225,2))
2.33
2.23

这里就与我们的结论不一致,原因是在机器中浮点数不一定被精确的表达,在转换成01后可能为无限位,机器会进行截断处理,所以会和浮点数的精确值有一定的出入,从而达不到我们预期的目标
所以如果对浮点数没有精度要求时可以使用round函数
如果对浮点数的精度要求较高,推荐使用decimal模块

[round函数详情参考(https://www.runoob.com/w3cnote/python-round-func-note.html)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐