奇怪的小数加到结果

时间:2019-01-24 18:30:54

标签: c# double decimal multiplication

C#在结果的末尾添加一个小数,我的代码:

public static double CalcCompoundedInterest()
{
    return (1.1 * 1.1);
}

结果:1​​.2100000000000002

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:5)

这不是C#问题,这是计算机处理十进制值时的工作方式。

您会看到1.1存储为浮点型,并使用IEEE 754标准以二进制编码。如果不为它们添加很小的错误,大多数十进制数字将无法存储。