浮点计算显示输出与调试结果不同

时间:2015-11-19 14:48:22

标签: c#

我很难理解为什么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();

任何人都可以解释一下

由于

1 个答案:

答案 0 :(得分:2)

我认为答案就在这里:C# float.ToString Rounding Values

基本上,浮动默认情况下保持7位数(你在输出中看到的数字) - 但它也可以保持9(当你中断执行并看一看时你所看到的)。

尝试Console.WriteLine(v.ToString("G9");并查看它是否打印相同的