python round保留小数位_Python-其他-round()保留小数位时遇到的问题
最近有一个需求,原有整数计算,改成小数计算,保留一位小数。 于是按照需求,将数据结构由 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()保留小数位时遇到的问题相关推荐
- python关键字中文意思_python 字符串只保留汉字的方法
如下所示: def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\ ...
- python 十六进制转中文_Python列表中包含中文时输出十六进制转中文的小方法
现象:列表中的中文打印出来后显示为十六进制>>> lt=['大神','zhzhgo'] >>> print lt ['\xb4\xf3\xc9\xf1', 'zhz ...
- python 获取参数模块_Python中获取启动程序时后面跟的参数的方法(optparse模块)【冰斌棒】...
Python中获取启动程序时后面跟的参数的方法(optparse模块)[冰斌棒] 3年前 (2018-01-29) 作者:冰斌棒 分类:冰斌棒18程序计划 阅读次数:871 评论(0 ...
- python延时函数 微秒_Python程序可显示当前时,分,秒和微秒
在下面的示例中-我们正在实现一个python程序来打印当前时,分,秒和微秒. 步骤:从datetime模块导入datetime类 通过调用创建对象 now()日期时间类的功能 使用以下对象提取并打印当 ...
- python怎么创建子类_Python:如何在创建时使用父类注册所有子类
您可以使用元类: class AutoRegister(type): def __new__(mcs, name, bases, classdict): new_cls = type.__new__( ...
- python列表换行输出_Python从列表转换为字符串时处理换行符
我有一个关于换行符和返回字符的问题.呃,这很难解释,但我会尽力的. 我有列表形式的数据.列表的成员中有换行符,因此. 1 2 3example_list = ["I've always lo ...
- python round保留小数位_Python 中保留指定位数小数用round就可以了吗?
Python 中保留指定位数小数用round就可以了吗? Python 中保留指定位数小数用round就可以了吗? 在项目实践中,程序员经常会收到产品经理保留指定位数小数的需求. 在Python语言中 ...
- python取两位小数点的函数_python中round函数保留两位小数的方法
在我们日常计算的过程中,如果计算出小数,对大量的被保留数据,采用四舍五入这种保留法的误差总和是最小的,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一.四舍五入是一种精确度的保留法,是我们使 ...
- python中保留两位小数的函数_python中round函数保留两位小数的方法
在我们日常计算的过程中,如果计算出小数,对大量的被保留数据,采用四舍五入这种保留法的误差总和是最小的,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一.四舍五入是一种精确度的保留法,是我们使 ...
- python中保留小数_python保留小数位的三种实现方法
前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法: 方法一:fo ...
最新文章
- H5拍照、预览、压缩、上传采坑记录
- 【笔记】HMM在股票指数中的简单应用
- 【干货】工作邮件高段位写法
- counterfactual
- wingIDE设置python虚拟环境并运行
- u大侠pe系统桌面计算机,替换WinPE桌面背景的详细教程
- vuex commit 模块_Vuex详细介绍
- Python 将输出内容保存在text文件中
- uni 登录token方法_封装uni-app的须要token的要求
- 大数据可视化有哪些作用和优点
- [渝粤教育] 西南科技大学 公共组织财务 在线考试复习资料
- iOS - OC NSFileManager		文件管理
- C#语法基础(三)----窗体设计
- 热传导方程的差分格式原理与matlab实现
- 新版码支付个人免签支付系统源码+实测成功
- Elasitcsearch CPU 使用率突然飙升,怎么办?
- js获取粘贴的html,JS读取粘贴板内容
- 基于Processing的躲避球游戏
- 估值调整 - 凸性调整
- html表格中怎么将背景颜色虚化,如何在Photoshop中制作效果惊艳模糊背景!