我写的一个程序有一个奇怪的输出,我将其归结为以下代码的行为:
class Program
{
public static void Main()
{
double test1 = 0.1;
double test2 = Math.Pow(10, -4);
double test3 = 0.1+Math.Pow(10, -4);
}
}
在调试模式下检查test1
,test2
和test3
的值时,前两个变量的值为
test1 = 0.1
test2 = 0.0001
这是我指定的,但他们的总和变为
test3 = 0.10010000000000001
。
似乎有10 ^ { - 17}的错误。我的问题是:
感谢。