最近有一个需求,原有整数计算,改成小数计算,保留一位小数。 于是按照需求,将数据结构由 int 改为 float ,计算时采用round()方法来保留小数位。

第一版代码如下:

a = 0.1000001

b = round(a+0.1,1)

c = 0

c += round(a,1)

复制代码

修改完成后进行测试,多次测试过程中发现,b 结果正确,但 c 明明已经使用了round(a,1)保留一位小数,但最后的结果会出现 0.30000000000000004 这样的结果。

实际上c += round(a,1) 是等同于 c = c + round(a,1),这样在多次计算之后,c 因为加上了 float 类型,从 int 变成了 float,而我们知道,在计算机中,浮点型的精度是有限的,它无法准确的表示,只能用一个近似值代替,而当使用这些近似值代替的浮点数进行运算时,本质上是这些近似值参与运算,出来的结果也就是近似结果。

所以最终代码应该为:

a = 0.1000001

b = round(a + 0.1, 1)

c = 0

c = round(c + a, 1)

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理

想要获取更多Python学习资料可以加QQ:2955637827私聊或加Q群630390733大家一起来学习讨论吧!

python round保留小数位_Python-其他-round()保留小数位时遇到的问题相关推荐

  1. python关键字中文意思_python 字符串只保留汉字的方法

    如下所示: def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\ ...

  2. python 十六进制转中文_Python列表中包含中文时输出十六进制转中文的小方法

    现象:列表中的中文打印出来后显示为十六进制>>> lt=['大神','zhzhgo'] >>> print lt ['\xb4\xf3\xc9\xf1', 'zhz ...

  3. python 获取参数模块_Python中获取启动程序时后面跟的参数的方法(optparse模块)【冰斌棒】...

    Python中获取启动程序时后面跟的参数的方法(optparse模块)[冰斌棒] 3年前 (2018-01-29)    作者:冰斌棒    分类:冰斌棒18程序计划    阅读次数:871 评论(0 ...

  4. python延时函数 微秒_Python程序可显示当前时,分,秒和微秒

    在下面的示例中-我们正在实现一个python程序来打印当前时,分,秒和微秒. 步骤:从datetime模块导入datetime类 通过调用创建对象 now()日期时间类的功能 使用以下对象提取并打印当 ...

  5. python怎么创建子类_Python:如何在创建时使用父类注册所有子类

    您可以使用元类: class AutoRegister(type): def __new__(mcs, name, bases, classdict): new_cls = type.__new__( ...

  6. python列表换行输出_Python从列表转换为字符串时处理换行符

    我有一个关于换行符和返回字符的问题.呃,这很难解释,但我会尽力的. 我有列表形式的数据.列表的成员中有换行符,因此. 1 2 3example_list = ["I've always lo ...

  7. python round保留小数位_Python 中保留指定位数小数用round就可以了吗?

    Python 中保留指定位数小数用round就可以了吗? Python 中保留指定位数小数用round就可以了吗? 在项目实践中,程序员经常会收到产品经理保留指定位数小数的需求. 在Python语言中 ...

  8. python取两位小数点的函数_python中round函数保留两位小数的方法

    在我们日常计算的过程中,如果计算出小数,对大量的被保留数据,采用四舍五入这种保留法的误差总和是最小的,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一.四舍五入是一种精确度的保留法,是我们使 ...

  9. python中保留两位小数的函数_python中round函数保留两位小数的方法

    在我们日常计算的过程中,如果计算出小数,对大量的被保留数据,采用四舍五入这种保留法的误差总和是最小的,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一.四舍五入是一种精确度的保留法,是我们使 ...

  10. python中保留小数_python保留小数位的三种实现方法

    前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法: 方法一:fo ...

最新文章

  1. H5拍照、预览、压缩、上传采坑记录
  2. 【笔记】HMM在股票指数中的简单应用
  3. 【干货】工作邮件高段位写法
  4. counterfactual
  5. wingIDE设置python虚拟环境并运行
  6. u大侠pe系统桌面计算机,替换WinPE桌面背景的详细教程
  7. vuex commit 模块_Vuex详细介绍
  8. Python 将输出内容保存在text文件中
  9. uni 登录token方法_封装uni-app的须要token的要求
  10. 大数据可视化有哪些作用和优点
  11. [渝粤教育] 西南科技大学 公共组织财务 在线考试复习资料
  12. iOS - OC NSFileManager 文件管理
  13. C#语法基础(三)----窗体设计
  14. 热传导方程的差分格式原理与matlab实现
  15. 新版码支付个人免签支付系统源码+实测成功
  16. Elasitcsearch CPU 使用率突然飙升,怎么办?
  17. js获取粘贴的html,JS读取粘贴板内容
  18. 基于Processing的躲避球游戏
  19. 估值调整 - 凸性调整
  20. html表格中怎么将背景颜色虚化,如何在Photoshop中制作效果惊艳模糊背景!

热门文章

  1. 一个项目需要提交哪了些文档?
  2. Oracle SQL存储过程结构、异常处理示例
  3. LD-sketch源码阅读
  4. JavaScript or JQuery 获取服务器时间
  5. FastDFS+Nginx+Module
  6. 制作一个可安装、可启动、可停止、可卸载的Windows service
  7. 34.scrapy解决爬虫翻页问题
  8. 安卓手机上微信无法打开Https网址的完美解决方案
  9. 【原理篇】推荐系统之矩阵分解模型
  10. LINE:不得不看的大规模信息网络嵌入