4f5759

4f5759 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

4f5759 发布了文章 · 2020-12-10

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)
查看原文

赞 0 收藏 0 评论 0

4f5759 关注了用户 · 2020-12-10

小齐本齐 @xiaoqibenqi

公众号:码农田小齐
回复【666】查看往期文章分类。
回复【进群】有技术交流群/自习打卡群/好文分享群。
回复【01-05】可以获取计算机精选书籍、个人刷题笔记、大厂面经、面试资料等资源~

愿我们一起成为更好的人,期待与你相遇️️

关注 3385

4f5759 关注了专栏 · 2020-12-10

AWS_AI开发社区

AWS_AI 开发者社区是专注于人工智能领域 IT 人士交流与互动的平台。在这里,你可以分享和获取一切有关人工智能的相关技术和前沿知识,也可以与同行或爱好者们交流探讨,共同成长。

关注 5152

4f5759 关注了专栏 · 2020-12-10

前端森林公众号

一个有温度的前端号,关注行业前沿。从基础到架构,携手你我共同成长。

关注 9900

4f5759 关注了用户 · 2020-12-10

why技术 @whyjishu

欢迎关注公众号【why技术】。在这里我会分享一些技术相关的东西,主攻java方向,用匠心敲代码,对每一行代码负责。偶尔也会荒腔走板的聊一聊生活,写一写书评,影评。愿你我共同进步。

关注 4770

4f5759 关注了专栏 · 2020-12-10

Swoole

PHP的协程框架

关注 7736

4f5759 关注了专栏 · 2020-12-10

Python数据科学

微信公众号:Python数据科学

关注 7697

4f5759 关注了专栏 · 2020-12-10

K8S生态

Container, Docker, Go, Kubernetes, Python, Vim; 微信公众号: MoeLove

关注 10587

4f5759 关注了专栏 · 2020-12-10

Koko Talk

记录自己的code时光

关注 2190

4f5759 关注了专栏 · 2020-12-10

SegmentFault 行业快讯

第一时间为开发者提供行业相关的实时热点资讯

关注 58561

认证与成就

  • 获得 0 次点赞
  • 获得 3 枚徽章 获得 0 枚金徽章, 获得 1 枚银徽章, 获得 2 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2017-04-24
个人主页被 222 人浏览