亲宝软件园·资讯

展开

python保留小数函数的几种使用总结

梁哓生 人气:0

python保留小数——‘%f’

‘%.nf’% x(定义的变量)

例子:

a = 82.16332
print('%.1f'% a)
print('%.2f'% a)
print('%.3f'% a)
print('%.4f'% a)
print('%.10f'% a)

输出结果

python保留小数——format()函数

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

例子

print("{:.1f}".format(0.167123))
print("{:.2f}".format(0.167123))
print("{:.3f}".format(0.167123))
print("{:.4f}".format(0.167123))
print("{:.10f}".format(0.167123))

输出结果

因为format()函数位置可以不按照顺序,所以也可以这样写

print(format(0.167123, '.1f'))
print(format(0.167123, '.2f'))
print(format(0.167123, '.3f'))
print(format(0.167123, '.10f'))

输出结果

通过观察数据可以发现上面两个数据都是进行‘四舍五入’的。

python保留小数——round()函数

round() 方法返回浮点数x的四舍五入值。

用法:round(数字,n),n为“数值表达式,表示从小数点位数”。

用例

s = 1.15457321
print("round(80.23456, 2) : ", round(80.23456, 2))
print( round(1203245, 3))
print(round(s,10))

输出结果

而对于round()函数有时候会出现一些问题,有时候无法提供正确的输出

例子

print(round(2.675,2))
print(round(8.875,2))

输出结果

如果按照’四舍五入‘的话应该是输出2.68的,但是结果是2.67,而8.875输出的是‘四舍五入’的值8.88

对于python round()函数

python中的舍入函数将十进制值四舍五入为给定的位数,如果我们不提供n(即十进制后的位数),则会将数字四舍五入为最接近的整数。

例子

#int
print(round(12))
#float
print(round(66.6))
print(round(45.5))
print(round(92.4))

输出结果

当提供第二个参数的时候,如果提供的参数n>=5的时候,则最后一个十进制数字将增加一,直至舍入后的值,不然的话将与提供的相同

例子

print(round(1.221, 2))
print(round(1.222, 2))
print(round(1.223, 2))
print(round(1.224, 2))
print(round(1.215, 2))
print(round(1.226, 2))
print(round(1.227, 2))
print(round(1.228, 2))
print(round(1.279, 2))

输出结果

可以看出是有的进位成功,有的是进位不成功的,所以这个round()函数不太好用,而对整数的进位是正确的

所以不建议使用这个方法

python保留小数——math.floor

floor() 返回数字的下舍整数。

使用floor的方法,需要引入math模块

floor()表示的是向下取舍

例子

import math
print("math.floor(-45.17) : ", math.floor(-45.17))
print("math.floor(100.12) : ", math.floor(100.12))
print("math.floor(100.72) : ", math.floor(100.72))
print("math.floor(119L) : ", math.floor(119))
print("math.floor(math.pi) : ", math.floor(math.pi))

输出结果

进行小数操作可以这样使用,先进行扩大数值的n次方,然后再除以n次方,即可得到’四舍五不入‘的数值

例子:(保留两位小数)

import math
print(math.floor(1.25754*10**2)/10**2)

输出结果

如果想要输出三位小数不进行‘四舍五入’,可以先乘10**3然后除以10**3

python保留小数——不进行四舍五入,简单粗暴法int()

例子

print(int(1.23456 * 1000) / 1000 )

输出结果

放大指定的倍数,然后取整,然后再除以指定的倍数。

可以利用上面的函数进行保留2位小数、3位小数、4位小数等

加载全部内容

相关教程
猜你喜欢
用户评论