1/3+1-1==1/3;

2018-09-07 17:44:57 +08:00
 pinews
true?
false?
why?
3032 次点击
所在节点    PHP
19 条回复
neptuno
2018-09-07 17:50:15 +08:00
false,精度?
delectate
2018-09-07 17:51:55 +08:00
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/3+1-1==1/3
False
>>> 1/3+1-1
0.33333333333333326
>>> 1/3
0.3333333333333333
maximum2012
2018-09-07 17:53:56 +08:00
javascript fasle
1/3+1-1
0.33333333333333326
1/3
0.3333333333333333
401Li
2018-09-07 17:58:46 +08:00
新手,觉得尽量不要比较浮点数,机器存成定点数时就会有精度的问题吧。
silencefent
2018-09-07 17:59:13 +08:00
javascript
console.log(Math.PI+1-1==Math.PI)
true
SakuraSa
2018-09-07 18:00:53 +08:00
这个主要是看运算符 / 在表达式中是“整除”还是“浮点除”
我能想到的结果:

语言 除类型 结果 备注
java int 之间整除 true
js 浮点除 false
c/c++ int 之间整除 true
python2 int 之间整除 true (运算符 // 表示浮点除)
python3 浮点除 false (运算符 // 表示整除)
SakuraSa
2018-09-07 18:01:48 +08:00
@SakuraSa 我完全弄错了,忽略上一条
JeffKing
2018-09-07 18:06:29 +08:00
大一 c 语言数据类型章节: 浮点型数不要用于比较,除非自定义比较精度。
jowan
2018-09-07 18:17:36 +08:00
http://www.php.net/manual/zh/language.types.float.php
永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。
Mrlgm
2018-09-07 18:20:49 +08:00
打开控制台,一输,false,是不是浮点数精度问题
canxden
2018-09-07 18:21:04 +08:00
int / int 向下取整为 0 所以是 ture
canxden
2018-09-07 18:26:09 +08:00
如果会 1/3 能自动转成浮点型, 再进行不同类型数据操作会有误差.
pinews
2018-09-07 18:34:59 +08:00
@All
看到有个广告是这个,就来问问,谢谢大家。
zhuawadao
2018-09-07 18:45:24 +08:00
这个我问了一下我上小学的妹妹。她说这题她做过,虽然双等号有点超纲,但是这个结果是对的
frozenthrone
2018-09-07 19:37:44 +08:00
得看你什么语言
kzzhr
2018-09-07 20:07:40 +08:00
0.1+0.2-0.3=?
bombless
2018-09-07 20:31:43 +08:00
我不懂浮点数而且我不想学系列
ps1aniuge
2018-09-08 03:06:46 +08:00
powershell 代码,基于。net
PS A:\pscode> [decimal]$(1/3+1-1) -eq [decimal]$(1/3)
True
PS A:\pscode> [double]$(1/3+1-1) -eq [double]$(1/3)
False
weixiangzhe
2018-09-08 10:58:18 +08:00
两天一个浮点的帖子, 好烦啊😯

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

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

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

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

© 2021 V2EX