我很难理解为什么c#中的计算在控制台窗口中显示的结果与调试结果相比不同。
以下代码在控制台0.1647513和调试0.164751321中显示0.1647513
var v = (float) (0.172731235 + -0.200918653*0.04 + 0.03552264*0.04*0.04);
Console.WriteLine(v);
Console.ReadKey();
任何人都可以解释一下
由于
答案 0 :(得分:2)
我认为答案就在这里:C# float.ToString Rounding Values
基本上,浮动默认情况下保持7位数(你在输出中看到的数字) - 但它也可以保持9(当你中断执行并看一看时你所看到的)。
尝试Console.WriteLine(v.ToString("G9");
并查看它是否打印相同的