python 浮点数的精度问题

  1. 程序语言浮点数由单精度型和双精度型两种

    单精度型占4个字节32位的内存空间只能提供七位有效数字

    双精度型占8个字节64位的内存空间可提供17位有效数字

  2. python 3 浮点数默认的是 17位数字的精度

  3. 将精度高的浮点数转化成精度低的浮点数,内置方法 round() roud(2.873 , 2) ===> 2.87

    格式化 %.2f 保留两位小数

  4. python 的浮点数损失精度问题,python 是以双精度64位来保存浮点数,多余的位会被截掉,比如 0.1 ,电脑保存的不是精准的 0.1 ,而是 0.10000000001,参与运算后,就会产生误差,特别是哪些对精度要求高的,比如金融领域,

  5. 解决方法, round 方法 或 利用 decimal 模块 /raʊnd/ 英/'desɪm(ə)l/ 来解决浮点数精度问题,规定浮点数只到小数点几位数

猜你喜欢

转载自blog.csdn.net/xiaochendefendoushi/article/details/81082797