![]() | 1 neptuno 2018-09-07 17:50:15 +08:00 via Android false,精度? |
![]() | 2 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 |
3 maximum2012 2018-09-07 17:53:56 +08:00 Javascript fasle 1/3+1-1 0.33333333333333326 1/3 0.3333333333333333 |
4 401Li 2018-09-07 17:58:46 +08:00 via Android 新手,觉得尽量不要比较浮点数,机器存成定点数时就会有精度的问题吧。 |
5 silencefent 2018-09-07 17:59:13 +08:00 Javascript console.log(Math.PI+1-1==Math.PI) true |
![]() | 6 SakuraSa 2018-09-07 18:00:53 +08:00 这个主要是看运算符 / 在表达式中是“整除”还是“浮点除” 我能想到的结果: 语言 除类型 结果 备注 java int 之间整除 true js 浮点除 false c/c++ int 之间整除 true python2 int 之间整除 true (运算符 // 表示浮点除) python3 浮点除 false (运算符 // 表示整除) |
![]() | 8 JeffKing 2018-09-07 18:06:29 +08:00 via iPhone 大一 c 语言数据类型章节: 浮点型数不要用于比较,除非自定义比较精度。 |
![]() | 9 jowan 2018-09-07 18:17:36 +08:00 http://www.php.net/manual/zh/language.types.float.php 永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。 |
![]() | 10 Mrlgm 2018-09-07 18:20:49 +08:00 打开控制台,一输,false,是不是浮点数精度问题 |
![]() | 11 canxden 2018-09-07 18:21:04 +08:00 int / int 向下取整为 0 所以是 ture |
![]() | 12 canxden 2018-09-07 18:26:09 +08:00 如果会 1/3 能自动转成浮点型, 再进行不同类型数据操作会有误差. |
![]() | 14 zhuawadao 2018-09-07 18:45:24 +08:00 ![]() 这个我问了一下我上小学的妹妹。她说这题她做过,虽然双等号有点超纲,但是这个结果是对的 |
![]() | 15 frozenthrone 2018-09-07 19:37:44 +08:00 via iPhone 得看你什么语言 |
![]() | 16 kzzhr 2018-09-07 20:07:40 +08:00 via Android 0.1+0.2-0.3=? |
![]() | 17 bombless 2018-09-07 20:31:43 +08:00 via Android 我不懂浮点数而且我不想学系列 |
18 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 |
![]() | 19 weixiangzhe 2018-09-08 10:58:18 +08:00 via iPhone 两天一个浮点的帖子, 好烦啊 |