相关疑难解决方法(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万
查看次数

为什么我看到一个双变量初始化为某个值,如21.4为21.399999618530273?

double r = 11.631;
double theta = 21.4;
Run Code Online (Sandbox Code Playgroud)

在调试器中,这些显示为11.631000000000000和21.399999618530273.

我怎么能避免这个?

floating-point precision

46
推荐指数
5
解决办法
2万
查看次数

为什么浮点上的简单数学运算会在VB.Net和Python中返回意外(不准确)?

x = 4.2 - 0.1  
Run Code Online (Sandbox Code Playgroud)

vb.net给出了4.1000000000000005
python给出的4.1000000000000005

Excel给出了4.1
calc calc给出4.1

这种情况发生的原因是什么?

python vb.net floating-point

3
推荐指数
2
解决办法
2545
查看次数