一. 引入
在数学的计算中我们经常需要来保留小数,但是有的保留小数的方法我们却是不知道如何去使用的,下面我来介绍三种方法.你会通过代码来更清楚的了解他们的使用方法.
二.使用% 的方法来进行保留小数位
1 使用数字
print('%.3f'%1.3443)
print('%.3f'%1.3444)
print('%.3f'%1.4445)
print('--------分割线-------------')
print('%.3f'%1.4446)
print('%.3f'%1.3447)
结果:
1.344
1.344
1.444
--------分割线-------------
1.445
1.345
结论:所以,你发现了什么?好像不是四舍五入的样子呢,怎么变成了四舍六入了?对就是四舍六入
2 使用变量
a=1.34445
print('%.3f'%a)
print('%.4f'%a)
print('%.5f'%a)
print('%.6f'%a)
print('%.3f'%a)
结果:
1.344
1.3444
1.34445
1.344450
1.344
总结:没有覆盖,但是% 会补零.
三.使用format 的方法来进行保留小数位
1 使用数字
print(format(1.34445,'.4f'))
print(format(1.34445,'.5f'))
print(format(1.34445,'.3f'))
print('--------分割线-------------')
print(format(1.3443,'.3f'))
print(format(1.3444,'.3f'))
print(format(1.3445,'.3f'))
print(format(1.3446,'.3f'))
print(format(1.3447,'.3f'))
结果:
1.3445
1.34450
1.345
--------分割线-------------
1.344
1.344
1.345
1.345
1.345
结论:所以,你发现了什么?这个好像是四舍五入的样子呢,所以fromat 是四舍五入的.
2 使用变量
a=1.34445
print(format(a,'.4f'))
print(format(a,'.5f'))
print(format(a,'.6f'))
print(format(a,'.3f'))
结果:
1.3444
1.34445
1.344450
1.344
总结:没有覆盖,但是format 会补零.
四.使用round 的方法来进行保留小数位
1 使用数字
print(round(1.34443,4))
print(round(1.34444,5))
print(round(1.34445,6))
结果:
1.3444
1.34444
1.34445
结论:
round 方法不会自动补零.
print(round(1.34443,4))
print(round(1.34444,4))
print(round(1.34445,4))
print('--------分割线-------------')
print(round(1.34446,4))
print(round(1.34447,4))
结果:
1.3444
1.3444
1.3444
--------分割线-------------
1.3445
1.3445
结论:所以,你发现了什么?好像不是四舍五入的样子呢,怎么又变成了四舍六入了?对就是四舍六入
2 使用变量
a=1.34445
print(round(a,4))
print(round(a,5))
print(round(a,6))
print(round(a,3))
结果:
1.3444
1.34445
1.34445
1.344
总结:没有覆盖,但是round 也不会补零.
四.总结
% 和round 是四舍六入
format 是四舍五入