当前位置:首页 > 编程教程 > Python技术文章 > 关于Python中浮点数精度处理的技巧总结

Python中浮点数精度处理的技巧

  • 发布时间:
  • 作者:码农之家
  • 点击:125

这篇文章主要知识点是关于Python、浮点数、精度处理、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python金融大数据分析
  • 类型:Python大小:47.8 MB格式:PDF作者:希尔皮斯科
立即下载

关于Python中浮点数精度处理的技巧总结

前言

最近在使用Python的时候遇到浮点数运算,发现经常会碰到如下情况:

关于Python中浮点数精度处理的技巧总结

出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确。

比如说: 0.1是十进制,转化为二进制后它是个无限循环的数:

0.00011001100110011001100110011001100110011001100110011001100

而python是以双精度(64)位来保存浮点数,多余的位会被截掉,所以看到的是0.1,但在电脑上实际保存的已不是精确的0.1,参与运算后,也就有可能点误差,特别是金融邻域里面,对精度更是要求更高,如何在Python中获取特定位数精度值?

【方法一】利用round方法:

关于Python中浮点数精度处理的技巧总结

【方法二】利用decimal模块:

关于Python中浮点数精度处理的技巧总结

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对码农之家的支持。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

您可能感兴趣的文章:

  • python判断是否为浮点数的方法
  • Python 相关电子书
    学习笔记
    网友NO.965868

    Python中浮点数的原理以及运算详解

    这篇文章主要介绍了Python中的浮点数原理与运算分析,结合实例形式分析了Python浮点数操作的常见错误,并简单解释了浮点数运算的原理与比较运算实现方法,需要的朋友可以参考下 本文实例讲述了Python中的浮点数原理与运算。分享给大家供大家参考,具体如下: 先看一个违反直觉的例子: s = 0. for i in range(10): s += .1 s0.9999999999999999# 错误被累加 再看一个更为普遍,直接影响判断逻辑的例子: from math import sqrt a = sqrt(2) a*a == aFalse 之所以会出现以上的结果,在于 Python (更准确地说是计算机硬件体系结构)对浮点数的表示,我们来看计算机(基于二进制)对十进制小数 0.1 的表示,十进制小数向二进制小数转换的方法请见 Python十进制小数与二进制小数相互转换。将十进制小数 0.1 转换为二进制时的结果为 0.0001100110011001....,无限循环,计算机无法展示无限的……

    网友NO.809153

    浅谈python 读excel数值为浮点型的问题

    如下所示: #读入nodata = xlrd.open_workbook("no.xlsx") #打开exceltable = data.sheet_by_name("Sheet1") #读sheetnrows = table.nrowscols = table.ncolsnos = []for i in range(1,nrows): #指定从1开始,到最后一列,跳过表头 for j in range(cols): ctype = table.cell(i , j).ctype #判断python读取的返回类型 0 --empty,1 --string, 2 --number(都是浮点), 3 --date, 4 --boolean, 5 --error no = table.cell(i, j).value #获取单元格的值 if ctype == 2 : no = str(int(no)) #将浮点转换成整数再转换成字符串 nos.append(no)print(nos) 以上这篇浅谈python 读excel数值为浮点型的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

    网友NO.200109

    Python3中的最大整数和最大浮点数实例

    Python中的最大整数 Python中可以通过sys模块来得到int的最大值. python2中使用的方法是 import sysmax = sys.maxintprint (max) python3中使用的方法是: import sysmax = sys.maxsizeprint (max) Python中获得最大浮点数 方法一:使用sys模块 import sys sys.float_infosys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.2204460492503131e-16, radix=2, rounds=1) sys.float_info.max1.7976931348623157e+308 方法二:使用float函数 infinity = float("inf") infinityinf infinity / 10000inf 以上这篇Python3中的最大整数和最大浮点数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

    <
    1
    >

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com