相关疑难解决方法(0)

浮点数学是否破碎?

请考虑以下代码:

0.1 + 0.2 == 0.3  ->  false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2         ->  0.30000000000000004
Run Code Online (Sandbox Code Playgroud)

为什么会出现这些不准确之处?

language-agnostic math floating-point floating-accuracy

2798
推荐指数
28
解决办法
28万
查看次数

为什么`0.4/2`等于'0.2`同时`0.6/3`等于`0.19999999999999998`在python中?

我知道这些是浮点分割.但为什么这两个公式表现不同?

我做了一些调查,结果使我更加困惑:

>>>0.9/3
0.3

>>>1.2/3
0.39999999999999997

>>>1.5/3
0.5
Run Code Online (Sandbox Code Playgroud)

这里用什么逻辑来决定结果是用小数点后一位打印还是更多?

PS:我用python3.4做了上面的实验.

python floating-point floating-accuracy ieee-754

0
推荐指数
2
解决办法
1238
查看次数