我真的不理解为什么,但是我的双精度数组有时会绕过我的变量,即使不是。奇怪的是,就像您在图片中看到的那样,它有时仅执行此操作。所有的数组元素都应具有如此长的精度。变量“ WertunterschiedPerSec”每次都保持这种精度,但是,即使我将其添加到Zwischenwerte [i]中,有时即使在任何地方都没有做任何事情,它的精度有时也会降低。有人知道为什么吗?
答案 0 :(得分:2)
我建议使用decimal
,但让我们详细了解一下:
double
,float
和decimal
是 all 浮点。
区别是double
和float
是 2底,而decimal
是 10底。
以2为底的数字不能准确代表所有以10为底的数字。
这就是为什么您看到似乎是“四舍五入”的原因。
答案 1 :(得分:0)
我将使用十进制变量而不是double,因为除了使用Math函数之外,您基本上可以执行与double相同的功能。尝试使用小数,如果需要转换而不是使用:
Double variable = Convert.ToDouble(decimal var);
小数表示小数,因此它们将比浮点或小数保存更多的信息