C# 预测两个双倍的总和

C# 预测两个双倍的总和,c#,javascript,math,double,computer-science,C#,Javascript,Math,Double,Computer Science,可能重复: 这将是一个非常基本的comp-sci问题。考虑下面的C语言(同样适用于JS,我假设数学是如何与一般的双打一起工作的)。 那么,发生了什么,我如何才能准确预测I+.01的总和呢?双倍不仅仅是一种获取数字小数点的方法。它使用浮点数学。很好地解释了它是如何工作的。阅读此文,看看它是否有帮助:您实际上想解决什么问题?如果低重要性数字的十进制值对您很重要,您首先不应该使用double。使用decimal或类似的结构。@code我的目标是获得0到x之间的每一百次间隔。我通过除法来解决这个问题,

可能重复:

这将是一个非常基本的comp-sci问题。考虑下面的C语言(同样适用于JS,我假设数学是如何与一般的双打一起工作的)。
那么,发生了什么,我如何才能准确预测I+.01的总和呢?

双倍不仅仅是一种获取数字小数点的方法。它使用浮点数学。很好地解释了它是如何工作的。

阅读此文,看看它是否有帮助:您实际上想解决什么问题?如果低重要性数字的十进制值对您很重要,您首先不应该使用
double
。使用
decimal
或类似的结构。@code我的目标是获得0到x之间的每一百次间隔。我通过除法来解决这个问题,但我想了解数学是如何处理双打的。琼斯基特,现在看看。谢谢。这可能是重复的,我只是想不出一个表达的方法来找到解释它的结果。乔恩·斯基特的联系让我走了。
var i = .01;
i+=.01; //i=.02
i+=.01; //i=.03
i+=.01; //i=.04
i+=.01; //i=.05
i+=.01; //i=.0600000000005 (I may have added/missed a few 0s in there)
i+=.01; //i=.07
i+=.01; //i=.08
i+=.01; //i=.09
i+=.01; //i=.0999999999992 (I may have added/missed a few 9s in there)