python 数据精度控制

浮点数是机器上浮点数的本机双精度(64bit)表示。提供大约17位的精度和范围从-308到308的指数。

Python不支持32bit的单精度浮点数。更加精确的精度控制可以使用numpy扩展库

关于单精度和双精度的通俗解释:

单精度型和双精度型,其类型说明符为float 单精度说明符,double 双精度说明符。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。

将精度高的浮点数转化为精度地的浮点数

1.round()内置方法

python 数据精度控制_第1张图片

round()如果只有一个数作为参数,不指定位数的时候,返回的是一个整数,而且是最靠近的整数(这点上类似四舍五入)。但是当出现.5的时候,两边的距离都一样,round()取靠近的偶数,这就是为什么round(2.5) = 2。当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的这样情况,如果要取舍的位数前的小树是奇数,则直接舍弃,如果偶数这向上取舍。看下面的示例:

注(取舍位5前面的数字如果是奇数的话就进1,如果是偶数的话就不进,和我们平时学的四舍五入有所不同。这种计数方式在水文工作上使用比较多,有大量数据时,按照这种方法可以减小误差。)

2.使用格式化

效果和使用round()是一样的

python 数据精度控制_第2张图片

python 数据精度控制_第3张图片

你可能感兴趣的:(python 数据精度控制)