Python-实现小数四舍五入
前言
本文主要记录Python-实现小数取整与小数四舍五入的相关笔记
1. round()函数
round()函数目前是使用较为广泛的四舍五入函数,尤其是在大数据处理中。函数的实现并不是简简单单的四舍五入,而是有如下几种使用方法。
1.1 round(num)取整
· 正值-整数部分是奇数的时候,小数部分满5进1;
· 正值-当整数部分为偶数的时候,小数部分超5才进1.
· 负值-先取绝对值,然后整数部分是奇数的时候,小数部分满5进1,最后添加“-”号;
· 负值–先取绝对值,然后当整数部分为偶数的时候,小数部分超5才进1,最后添加“-”号。
round(num)
示例及输出如下:
1.2 round(num, 0)取值
round()函数不止可以有以上用法,还可以在括号里再添加一个参数n,代表要保留的小数位数,此时round(num, n)函数返回的将不再是“int”类型的数据,而是“float”类型的数据,这里即便函数里参数里n取0,返回的也会是“float”类型数据,保留一位小数,小数位为0,比如round(2.3, 0)最终取值为2.0。
round(num, 0)
示例及输出如下:
1.2 round(num, n)小数四舍五入
当round(num, n)函数的n取值为大于0的整数时,此时规则也是按照传统上的奇数进位,偶数不进位来计算。
round(num, n)
但示例就不举了,因为浮点数在机器中的表达会影响最终结果,像如下的代码
print(round(7.55, 1))
print(round(7.65, 1))
最终结果的输出应当是7.6与7.6,但是实际输出会出现7.5与7.7的情况,出现了错误,所以round(num, n)函数在现在的机器中可能是会出现出错的。
2. int()函数取整
在python中,int()函数本身并不会四舍五入,直接使用int()函数直接就代表着向下取整,但这并不代表着使用int()函数不能实现四舍五入,我们可以在要四舍五入的数加上0.5再使用int()函数即可。
int(num)
int(num+0.5)
3.ceil()与floor()函数取整
这两个函数的使用都需要预先导入math模块,导入后即可使用
· ceil()函数向上取整
· floor()函数向下取整
示例及输出如下: