一. 引入

在数学的计算中我们经常需要来保留小数,但是有的保留小数的方法我们却是不知道如何去使用的,下面我来介绍三种方法.你会通过代码来更清楚的了解他们的使用方法.

二.使用% 的方法来进行保留小数位

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 是四舍五入