专业编程基础技术教程

网站首页 > 基础教程 正文

python数据类型float的round前世今生

ccvgpt 2024-08-08 13:00:19 基础教程 11 ℃

python数据类型:float的round前世今生。

round是python的内置函数,主要用来精度控制,借控制小数点的保留位数。它有点类似四舍五入,但又和四舍五入不同,它更像是四舍五入,记小于等于四会被舍弃,大于等于六会被敬畏。

python数据类型float的round前世今生

四和六之间还有一个五,它是如何解决中间这个五的问题?因为在它的规则中保留值将保留到离上一位更近的一端,但是到五的时候两端的距离就是一样的。

round是如何处理的?在python2.7中采用的规则是保留离零远的一边,例如round零点五,round零点五处在零和一之间,那么离零远的就是一,让它负零点五处在负一和零之间,那么离零远的一边就是负一。

到了python3.5的时候规则就有所变化,它改成了如果离两边一样远就保留到偶数一边,例如round零点五,round零点五的左边是零,右边是一,也就是说零就会被选择,就不会去选择一,让的负零点五也是同样的道理,因为零能被二除一不可以,所以都会选择零,负的零点五也是不会去选择负一而选择零,因为零除二等于零,一除二不能等于一个整数。

这就是python2.7和python3.5中round的区别,所以如果涉及到round二升级迁移到round三,关于round的函数调用计算问题要特别的留意,否则会导致数据不准确。

最近发表
标签列表