Python 处理浮点运算,为什么浮点位数会有误差?

2019-09-22 23:49:01 +08:00
 miniyao

后面很长的尾巴是怎么来的?

>>> 9.9 * 0.4
3.96oooooooooooo4
>>> 9.9 * 0.6
5.94
>>> 9.9 * 0.8
7.92oooooooooooo1
5278 次点击
所在节点    Python
24 条回复
u823tg
2019-09-23 14:02:55 +08:00
你得去看看基础了。这个是很基础的问题。
littlewing
2019-09-23 19:13:01 +08:00
要你们多学学计算机基础知识,你们不听
ps1aniuge
2019-09-23 23:18:22 +08:00
在 powershell 中,有自动的数字类型判断,当然你也可以手动。
=================================

[decimal]1/3*3 = 0.9999999999999

=================================

PS A:\pscode> [decimal]9.9 * 0.4 - 3.96
0.00
PS A:\pscode>
=================================
banxi1988
2019-09-23 23:57:18 +08:00
好消息,我专门准备了视频来回答你的问题.

浮点数解惑与避坑指南(1)浮点数的坑哪些你掉过?
https://www.bilibili.com/video/av67938835/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/603157

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX