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

C#浮动和双重bug

我有这个代码:

static void Main()
{
    float i;

    for (i = 0; i <= 100; i = i + 0.01F)
    {
        Console.WriteLine(i);

    }

}
Run Code Online (Sandbox Code Playgroud)

它打印我这个:

0
0.01
0.02
0.03
0.04
0.05
0.05999999
0.06999999
0.07999999
0.08999999
0.09999999
0.11
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是我做错了什么?这有什么解决方案吗?

c#

-1
推荐指数
1
解决办法
760
查看次数